formencode.schema
– Validate complete forms¶
Module Contents¶
-
class
formencode.schema.
Schema
(*args, **kw)¶ A schema validates a dictionary of values, applying different validators (be key) to the different values. If allow_extra_fields=True, keys without validators will be allowed; otherwise they will raise Invalid. If filter_extra_fields is set to true, then extra fields are not passed back in the results.
Validators are associated with keys either with a class syntax, or as keyword arguments (class syntax is usually easier). Something like:
class MySchema(Schema): name = Validators.PlainText() phone = Validators.PhoneNumber()
These will not be available as actual instance variables, but will be collected in a dictionary. To remove a validator in a subclass that is present in a superclass, set it to None, like:
class MySubSchema(MySchema): name = None
Note that missing fields are handled at the Schema level. Missing fields can have the ‘missing’ message set to specify the error message, or if that does not exist the schema message ‘missingValue’ is used.
Messages
badDictType
:- The input must be dict-like (not a
%(type)s
:%(value)r
) badType
:- The input must be a string (not a
%(type)s
:%(value)r
) empty
:- Please enter a value
missingValue
:- Missing value
noneType
:- The input must be a string (not None)
notExpected
:- The input field
%(name)s
was not expected. singleValueExpected
:- Please provide only one value