skip to navigation
skip to content

formalize 0.1.3

Form processing and validation

Downloads ↓

Formalize: form processing and validation

Formalize is designed to process and validate web form data cleanly and easily.

A FormValidator object looks like this:

>>> v = FormValidator(
...     firstname=Unicode(),
...     surname=Unicode(required="Please enter your surname"),
...     age=Int(greaterthan(18, "You must be at least 18 to proceed"), required=False),
... )

And can be applied to any data held in a dictionary-like object:

>>> input_data = {
...    'firstname': u'Fred',
...    'surname': u'Jones',
...    'age': u'21',
... }
>>> v.process(input_data)
{'age': 21, 'firstname': u'Fred', 'surname': u'Jones'}

When validation fails, a ValidationError is raised. This contains error messages for all the failing validation tests:

>>> input_data = {
...    'firstname': u'Fred',
...    'age': u'16',
... }
>>> v.process(input_data)
Traceback (most recent call last):
  ...
ValidationError: ValidationError([('surname', 'Please enter your
surname'), ('age', 'You must be at least 18 to proceed')])

Documentation and download

Licensing

Formalize is available under the terms of the new BSD licence.

Changes

Version 0.1.3

  • Allowed multiple, independent validators to be applied for the same source field.

Version 0.1.2

  • Support for tracking validation context in ListValidators
  • Support for multiple When objects in a MappingValidator
  • Bugfixes for DateValidator

Version 0.1.1

  • Bugfix for ListValidator error reporting

Version 0.1.0

  • Initial public release
 
File Type Py Version Uploaded on Size # downloads
formalize-0.1.3.tar.gz (md5) Source 2011-06-02 25KB 327