|File Search||Catalog||Content Search|
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:
* 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.
* 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
NAME README - README for FormBuilder 3.0, please also see Changes DESCRIPTION I hate form generation and validation because 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 just plain useless. So I wrote FormBuilder to try and get rid rid of the stoopi more»
CGI::FormBuilder(User Contributed Perl DocumentCGI::FormBuilder(3pm) NAME CGI::FormBuilder - Easily generate and process stateful forms SYNOPSIS use CGI::FormBuilder; # Assume we did a DBI query to get existing values my $dbval = $sth->fetchrow_hashref; # First create our form my $form = CGI::FormBuilder->new( more»
CGI::FormBuilder:UserlContributed Perl DCGI::FormBuilder::Field(3pm) NAME CGI::FormBuilder::Field - Base class for FormBuilder fields SYNOPSIS use CGI::FormBuilder::Field; # delegated straight from FormBuilder my $f = CGI::FormBuilder::Field->new($form, name => 'whatever'); # attribute functions my $n = $f->name; # name of more»
CGI::FormBuilder:UsersContributed PerCGI::FormBuilder::Messages(3pm) NAME CGI::FormBuilder more»
CGI::FormBuilder:UsertContributed Perl DCGI::FormBuilder::Multi(3pm) NAME CGI::FormBuilder more»
CGI::FormBuilder:UserrContributed Perl CGI::FormBuilder::Source(3pm) NAME CGI::FormBuilder more»
CGI::FormBuilder:UserrContributedCGI::FormBuilder::Source::File(3pm) NAME CGI::FormBuilder more»
CGI::FormBuilder:UserpContributed PerCGI::FormBuilder::Template(3pm) NAME CGI::FormBuilder more»