NAME
Class::DBI::AsForm - Produce HTML form elements for database columns
SYNOPSIS
package Music::CD;
use Class::DBI::AsForm;
use base 'Class::DBI';
use CGI qw/:standard/;
...
sub create_or_edit {
my $class = shift;
my %cgi_field = $class->to_cgi;
return start_form,
(map { "$_: ". $cgi_field{$_}."
" } $class->Columns),
end_form;
}
#
DESCRIPTION
This module helps to generate HTML forms for creating new database rows
or editing existing rows. It maps column names in a database table to
HTML form elements which fit the schema. Large text fields are turned
into textareas, and fields with a has-a relationship to other
"Class::DBI" tables are turned into select drop-downs populated with
objects from the joined class.
METHODS
The module is a mix-in which adds two additional methods to your
"Class::DBI"-derived class.
to_cgi
This returns a hash mapping all the column names of the class to HTML
snippets.
to_field($field [, $how])
This maps an individual column to a form element. The "how" argument can
be used to force the field type into one of "textfield", "textarea" or
"select"; you can use this is you want to avoid the automatic detection
of has-a relationships.
AUTHOR
Simon Cozens, "simon@kasei.com"
SEE ALSO
Class::DBI, Class::DBI::FromCGI.