Fields

class fields.BaseField(default=None, required=False, empty_value=None, validator=None, converter=None)

Basic field validator and converter set.

usage:

>>> from validators import OnelinerText, Length, All
>>> class NameField(BaseField):
...   validator = All(OnelinerText(), Length(max=10))
... 
>>> field = NameField(required=True)
>>> name = field()  # with required flag
RequiredError
>>> name = field('John Doeeeee')
InvalidValueError
>>> name = field('Jane Doe')
>>> print name
u'Jane Doe'
>>> field = NameField()
>>> print field()   # without required flag
None
>>> field('R2-D2')
u'R2-D2'

Note

You have to set validator to BaseField.validator. Because default is None.

BaseField.converter is converters.unicode_converter() by default.

Parameters:
  • default

    Default value.

    If missing validatee value, to convert and return this value.

  • required

    Required field flag.

    If this argument is True and default value is missing, RequiredError is raised.

  • empty_value

    Criterion value of empty value.

    If the same as given value as empty_value when validate one, given value is treats as empty.

  • validator (A instance of subclass of ValidatorBaseInterface.) – If this argument was given, to replace default validator by one.
  • converter – If this argument was given, to replace default converter by one.
__call__(value)

validate the value.

Parameters:

value – validatee value.

Raises:
  • ValidationError – value is invalid.
  • RequiredError – value and default-value are missing, and required flag is True.
  • ConversionError – error occurred in converter.
Returns:

If value and default-value are missing, return None. otherwise, return a converted value.

Previous topic

Welcome to fivalid’s documentation!

Next topic

Validators

This Page