CGI FormBuilder
Cgi::formbuilder
http://www.formbuilder.org/
Easily generate and process stateful CGI forms
Do you hate generating, processing, and validating CGI forms? Do you love Perl?
FormBuilder is the answer. It's an extremely fast, robust Perl module with a ridiculous set of features.
Here's the main stuff that I [the author] think is cool:
- DWIMmery 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: * HTML::Template * CGI::FastTemplate * Text::Template * Template Toolkit 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
Licensing
License
Verified by
Verified on
Notes
License
Verified by
Debian
Verified on
20 March 2013
Notes
License: GPL-2+
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.License
Verified by
Debian
Verified on
20 March 2013
Notes
License: Artistic or GPL-1+
Artistic or GPL-1+ This module is free software; you may copy this under the terms of the GNU General Public License, or the Artistic License, copies of which should have accompanied your
Perl kit.
Leaders and contributors
Contact(s) | Role |
---|---|
Nathan Wiger | contact |
Resources and communication
Software prerequisites
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the page “GNU Free Documentation License”.
The copyright and license notices on this page only apply to the text on this page. Any software or copyright-licenses or other similar notices described in this text has its own copyright notice and license, which can usually be found in the distribution or license text itself.