Skip to main content

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

Licensing

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

Changes

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

Project details


Download files

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

Source Distribution

formalize-0.1.4.tar.gz (24.9 kB view details)

Uploaded Source

File details

Details for the file formalize-0.1.4.tar.gz.

File metadata

  • Download URL: formalize-0.1.4.tar.gz
  • Upload date:
  • Size: 24.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for formalize-0.1.4.tar.gz
Algorithm Hash digest
SHA256 08583c90eb43efd90c965f36d326c18906ec139b57ab61e1a2ac7e0a860cb405
MD5 c22bb527476ac4150a4f652e289f0745
BLAKE2b-256 42d8a4bf94ea2ad7d27fffb105615acb5aae9f7e6031d2d69849e8f7b3ee1e5a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page