{
has_field
'name'
=> (
required
=> 1 );
has_field
'age'
=> (
required
=> 1 );
has_field
'comment'
;
has_field
'address'
;
has_field
'city'
;
has_field
'state'
;
has_field
'zip'
;
has_field
'cc_no'
;
has_field
'cc_expires'
;
has
'+dependency'
=> (
default
=>
sub
{
[
[
'address'
,
'city'
,
'state'
,
'zip'
],
[
'cc_no'
,
'cc_expires'
],
]
}
);
}
my
$form
= My::Form->new;
ok(
$form
,
'get form'
);
my
$params
= {
name
=>
'John Doe'
,
age
=>
'44'
,
state
=>
'NY'
,
};
my
$validated
=
$form
->validate(
$params
);
ok( !
$validated
,
'not validated'
);
my
@error_fields
=
$form
->error_fields;
my
$error_count
=
@error_fields
;
is(
$error_count
, 3,
'number of errors is 3'
);
foreach
my
$field
(
@error_fields
)
{
my
$name
=
$field
->name;
is(
$field
->errors->[0],
$field
->label .
' field is required'
,
"required field: $name"
);
}