Formulator is a Zope product that facilitates the creation of webforms, and the subsequent validation and conversion of user input.

Formulator extends Zope with a form object to which fields can be added. A variety of form fields are supplied, allowing the input of text, numbers, lists, datetime data, email addresses, and much more. Forms can be constructed by using the normal Zope Management Interface, and subsequently used in your own web sites.

Besides from taking care of the visual aspects of forms, Formulator helps you when you want to validate the entries by the users of the form. Formulator makes sure that users entered the expected values into the form, also making sure users do not leave any required fields opens. If the user did something wrong, Formulator reports an error, which your custom code can then report to the end user in which ever way you prefer. Formulator also automatically converts text entered by the user to Python datatypes, so you do not have to manually convert strings to integers, for instance.

After this validation and conversion of the data, further processing of form data is made a lot easier. For instance, if as the result of a form submit you want to insert a new record into a database table using a ZSQL method, this gets as simple as passing the form validation results directly to the ZSQL method.

  • Subscribe to the Formulator mailing list for general discussions and questions on Formulator usage. If you have questions about Formulator, this is your first stop.
  • If you're interested in the further development of Formulator, subscribe to the Formulator-dev list.

For more information and download see here.


Formulator was developed and maintained by Martijn Faassen at Infrae. Since version 1.7.0 Clemens Robbenhaar is the lead Formulator maintainer. Formulator development has always been supported by many suggestions and patches from a lot of people. Thanks everybody!