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 ))