Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

Form processing and validation

Project Description

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


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


Version 0.1.4

  • Bugfix for default format argument to Date validator

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
Release History

Release History

This version
History Node


History Node


History Node


History Node


History Node


History Node


Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
formalize-0.1.4.tar.gz (24.9 kB) Copy SHA256 Checksum SHA256 Source Nov 20, 2012

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting