package MyEditForm;
...
sub build_form
{
...
$self->add_field(start_date => MyDateField::MDY->new(size => ...));
}
####
package MyWebApp;
...
sub init
{
...
$self->add_forms
(
edit_form =>
{
class => 'MyEditForm',
...
},
...
)l
$self->add_pages
(
edit_page =>
{
form_names => [ qw(edit_form ...) ],
path => 'edit.html',
...
},
...
);
...
}
##
##
sub do_whatever
{
...
$app->show_page('edit_page');
}
##
##
...
<% $form->start_html %>
<% $form->field('start_date')->html %>
...
<% $form->end_html %>
<%args>
$form
%args>
##
##
/mywebapp/edit?start_date=1/2/2005
/mywebapp/edit?start_date.month=1&start_date.day=2&start_date.year=2005
##
##
$form->field('start_date.day')->input_value(1);
$form->field('start_date')->field('day')->input_value(1);
##
##
$form->field('start_date')->input_value('1/31/1988');
$form->field('start_date')->input_value(DateTime->new(...));