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; } #
# Title:
# Artist: # ... #
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.