#!/usr/bin/env perl
my
$validator
= new Data::FormValidator( {
default
=> {
required
=> [
qw/my_zipcode_field my_other_field/
],
constraints
=> {
my_zipcode_field
=> {
constraint
=> \
&zipcode_check
,
name
=>
'zipcode'
,
params
=> [
'my_zipcode_field'
,
'my_other_field'
],
},
},
},
} );
my
@args_for_check
;
sub
zipcode_check
{
@args_for_check
=
@_
;
if
(
$_
[0] == 402015 and
$_
[1] eq
'mapserver_rulez'
)
{
return
1;
}
return
0;
}
my
$input_hashref
= {
my_zipcode_field
=>
'402015'
,
my_other_field
=>
'mapserver_rulez'
,
};
my
(
$valids
,
$missings
,
$invalids
,
$unknowns
);
eval
{
(
$valids
,
$missings
,
$invalids
,
$unknowns
) =
$validator
->validate(
$input_hashref
,
'default'
);
};
ok( not $@ )
or diag
"eval error: $@"
;
ok( not
grep
{ (
ref
$_
) eq
'ARRAY'
}
@$invalids
)
or diag $
is_deeply( \
@args_for_check
, [ 402015,
'mapserver_rulez'
] );