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
Download the python egg from the Python Package Index
View the source code on patch-tag.com
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
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 08583c90eb43efd90c965f36d326c18906ec139b57ab61e1a2ac7e0a860cb405 |
|
MD5 | c22bb527476ac4150a4f652e289f0745 |
|
BLAKE2b-256 | 42d8a4bf94ea2ad7d27fffb105615acb5aae9f7e6031d2d69849e8f7b3ee1e5a |