package Test::Form;
use HTML::FormHandler::Moose;
extends 'HTML::FormHandler';
use DateTime;
has_field 'some_text' => (
actions => [
{ check => qr/aaa/, message => 'Must contain aaa' }
]
);
has_field 'number' => (
actions => [
{
check => sub { return $_[0] > 10 },
message => 'must be greater than 10'
},
{ transformation => sub{ printf("%08d", _[0] ) } },
]
);
has_field 'date_time' => (
type => 'Compound',
actions => [
{
transformation => sub{ DateTime->new( $_[0] ) },
message => 'Incorrect Date'
},
{
check => sub { $_[0]->day_of_week eq 'Monday' },
message => 'Only Mondays'
},
],
);
has_field 'date_time.year';
has_field 'date_time.month';
has_field 'date_time.day';