Source code for swimlane.core.fields.number
import numbers
from swimlane.exceptions import ValidationError
from .base import Field
[docs]class NumberField(Field):
field_type = (
'Core.Models.Fields.NumericField, Core',
'Core.Models.Fields.Numeric.NumericField, Core'
)
supported_types = [numbers.Number]
def __init__(self, *args, **kwargs):
super(NumberField, self).__init__(*args, **kwargs)
self.min = self.field_definition.get('min')
self.max = self.field_definition.get('max')
[docs] def validate_value(self, value):
super(NumberField, self).validate_value(value)
if value is not None:
if self.min is not None and value < self.min:
raise ValidationError(self.record, 'Field "{}" minimum value "{}", received "{}"'.format(
self.name,
self.min,
value
))
if self.max is not None and value > self.max:
raise ValidationError(self.record, 'Field "{}" maximum value "{}", received "{}"'.format(
self.name,
self.max,
value
))