Package web2py :: Package gluon :: Module validators :: Class IS_DECIMAL_IN_RANGE
[hide private]
[frames] | no frames]

Class IS_DECIMAL_IN_RANGE

source code

object --+    
         |    
 Validator --+
             |
            IS_DECIMAL_IN_RANGE

Determine that the argument is (or can be represented as) a Python Decimal, and that it falls within the specified inclusive range. The comparison is made with Python Decimal arithmetic.

The minimum and maximum limits can be None, meaning no lower or upper limit, respectively.

example:
   INPUT(_type='text', _name='name', requires=IS_DECIMAL_IN_RANGE(0, 10))

   >>> IS_DECIMAL_IN_RANGE(1,5)('4')
   (Decimal('4'), None)
   >>> IS_DECIMAL_IN_RANGE(1,5)(4)
   (Decimal('4'), None)
   >>> IS_DECIMAL_IN_RANGE(1,5)(1)
   (Decimal('1'), None)
   >>> IS_DECIMAL_IN_RANGE(1,5)(5.25)
   (5.25, 'enter a number between 1 and 5')
   >>> IS_DECIMAL_IN_RANGE(5.25,6)(5.25)
   (Decimal('5.25'), None)
   >>> IS_DECIMAL_IN_RANGE(5.25,6)('5.25')
   (Decimal('5.25'), None)
   >>> IS_DECIMAL_IN_RANGE(1,5)(6.0)
   (6.0, 'enter a number between 1 and 5')
   >>> IS_DECIMAL_IN_RANGE(1,5)(3.5)
   (Decimal('3.5'), None)
   >>> IS_DECIMAL_IN_RANGE(1.5,5.5)(3.5)
   (Decimal('3.5'), None)
   >>> IS_DECIMAL_IN_RANGE(1.5,5.5)(6.5)
   (6.5, 'enter a number between 1.5 and 5.5')
   >>> IS_DECIMAL_IN_RANGE(1.5,None)(6.5)
   (Decimal('6.5'), None)
   >>> IS_DECIMAL_IN_RANGE(1.5,None)(0.5)
   (0.5, 'enter a number greater than or equal to 1.5')
   >>> IS_DECIMAL_IN_RANGE(None,5.5)(4.5)
   (Decimal('4.5'), None)
   >>> IS_DECIMAL_IN_RANGE(None,5.5)(6.5)
   (6.5, 'enter a number less than or equal to 5.5')
   >>> IS_DECIMAL_IN_RANGE()(6.5)
   (Decimal('6.5'), None)
   >>> IS_DECIMAL_IN_RANGE(0,99)(123.123)
   (123.123, 'enter a number between 0 and 99')
   >>> IS_DECIMAL_IN_RANGE(0,99)('123.123')
   ('123.123', 'enter a number between 0 and 99')
   >>> IS_DECIMAL_IN_RANGE(0,99)('12.34')
   (Decimal('12.34'), None)
   >>> IS_DECIMAL_IN_RANGE()('abc')
   ('abc', 'enter a decimal number')


Instance Methods [hide private]
 
__init__(self, minimum=1, maximum=1, error_message=1, dot='.')
x.__init__(...) initializes x; see x.__class__.__doc__ for signature
source code
 
__call__(self, value) source code
 
formatter(self, value)
For some validators returns a formatted version (matching the validator) of value.
source code

Inherited from object: __delattr__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __str__

Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self, minimum=1, maximum=1, error_message=1, dot='.')
(Constructor)

source code 
x.__init__(...) initializes x; see x.__class__.__doc__ for signature
Overrides: object.__init__
(inherited documentation)

formatter(self, value)

source code 
For some validators returns a formatted version (matching the validator) of value. Otherwise just returns the value.
Overrides: Validator.formatter
(inherited documentation)