use Test::More tests => 7;
package MyVal;
use Validation::Class;
package main;
my $r = MyVal->new(
fields => {
password => {matches => 'password2'},
password2 => {
# ....
},
},
params => {
password => 'secret$',
password2 => 'secret$',
}
);
ok $r->validate(), 'password validates';
$r->params->{password2} = 's3cret';
ok !$r->validate(), 'foobar doesnt validate';
ok $r->errors_to_string() =~ /password does not match password2/,
'displays proper error message';
$r->fields->{password}->{label} = 'pass (a)';
$r->fields->{password2}->{label} = 'pass (b)';
ok !$r->validate(), 'foobar doesnt validate';
ok $r->errors_to_string() =~ /pass \(a\) does not match pass \(b\)/,
'displays proper error message';
$r->params->{password2} = '';
ok !$r->validate(), 'foobar doesnt validate';
ok $r->errors_to_string() =~ /pass \(a\) does not match pass \(b\)/,
'displays proper error message';
#warn $r->errors_to_string();