Perl Form Builder ::Features ::Download ::Tutorial ::Examples
::Documentation ::FormBuilder Google Group ::Old List Archives ::Contribute
Note: The mailing list is has been replaced by the Google FormBuilder Group

New Features and Bug Fixes

To get the latest scoop on what's new in FormBuilder, you should visit the download section and read the release notes.

FormBuilder Features

This module was created because I just plain hate form generation and validation, as the majority of the process is tedious and mindless. In addition to being boring, there is too much room for simple error, which could render your application insecure or even useless.

FormBuilder gets rid of the repetitive parts, leaving you to concentrate on the high-level tasks. It generates flawless HTML and JavaScript, and has been endlessly tested for security holes. It is the culimation of several years of development and use. Here are some of its main features:

This module tries to "Do What I Mean". Tell it the fields you care about, and it takes care of all the stupid HTML and JavaScript generation and processing for you. It also gives you back the correct values that you want. It will even label your fields automatically with human-readable names.
Input field abstraction
You simply define your fields and their options, and FormBuilder will take care of figuring out what the best HTML representation is. It will then generate the appropriate input fields (text, select, radio, etc), even changing any JavaScript actions appropriately.
Easy handling of defaults
Just specify a hash of values to use as the defaults for your fields. This will be searched case-insensitively and displayed in the form. What's more, if the user enters something via the CGI that overrides a default, when you use the field() method to get the data you'll get the correct value.
Correct stickiness
Stickiness is a PITA. FormBuilder correctly handles even multiple values selected in a multiple select list, completely integrated with proper handling of defaults.
Robust field validation
Form validation sucks, and this is where FormBuilder is a big help. It has tons of builtin patterns, and will even generate gobs of JavaScript validation code for you. You can specify your own regexps as well, and FormBuilder will even check multivalued select lists correctly. See the full list of built-in patterns.
Multiple submit mode support
FormBuilder allows you to reliably tell whether the person clicked on the "Update" or "Delete" button of your form, normally a big pain.
Template driver support
FormBuilder can natively "drive" several major templating engines: If you want to build a complete form application with a template in less that 20 lines of Perl, FormBuilder is for you.
Internationalized, Customizable Messaging
Sick of US-centric modules? You can customize every single message that FormBuilder outputs for your locale. See the full messages list.
Simple Interface
Heck, I specialized in User Interface Design for my degree!
Extensive Documentation
In case you haven't figured it out yet, there's a whole website devoted to FormBuilder. :-)
If you like the sound of FormBuilder, you should download the latest version, then go through the online tutorial.
FormBuilder is © Nate Wiger, with contributions from many people.