use strict;
use lib ('.','../t');
$^W = 1;
use Test::More tests => 1;
use Data::FormValidator;
my $input_profile = {
required => ['my_zipcode_field'],
constraints => {
my_zipcode_field => {
constraint => \&starts_with_402,
params => ['my_zipcode_field', \'cow'],
},
},
untaint_all_constraints=>1,
};
my $validator = new Data::FormValidator({default => $input_profile});
my $input_hashref = {
my_zipcode_field => 'big brown',
};
sub starts_with_402 {
my ($zip, $cow) = @_;
return "$zip $$cow";
}
my ($valids, $missings, $invalids, $unknowns);
eval{
($valids, $missings, $invalids, $unknowns) = $validator->validate($input_hashref, 'default');
};
# Test to make sure that the constraint receives a literal value of an element passed by reference
is($valids->{my_zipcode_field}, 'big brown cow');