##
sub error_template {
return qq(
Results
Results
I'm sorry, but I had a slight problem processing your form submission:
- You must enter a valid number for Field1
- You must enter a valid number for Field2
- Field2 must be >= Field1
);
####
sub compare_num1_LT_num2 {
my ($first, $second) = @_;
return ($first <= $second);
}
sub validate {
my $data_in = shift;
my $maxint = 10000;
my $profile = {
'required' => [ qw( Field1 Field2 ) ],
'msgs' => { 'prefix' => 'err_' },
'constraints' => {
'Field1' => sub {
my $in = shift;
$in =~ /^\d+$/ && $in > 0 && $in < $maxint
},
'Field2' => sub {
my $in = shift;
$in =~ /^\d+$/ && $in > 0 && $in < $maxint },
'Field2_LT_Field1' => {
'constraint' => 'compare_num1_LT_num2',
'params' => [ qw/ Field1 Field2 / ],
},
},
};
my $results =
Data::FormValidator->check($data_in, $profile);
}
validate(\%data);