web2py.gluon.validators.IS_DECIMAL_IN_RANGE

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=global_settings.applications_parent, maximum=global_settings.applications_parent, error_message=global_settings.applications_parent, 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=global_settings.applications_parent, maximum=global_settings.applications_parent, error_message=global_settings.applications_parent, 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)