use Test::More tests => 6; package MyVal; use Validation::Class; field this => { required => 1, error => 'This aint that.', filters => ['trim', 'strip'] }; field that => { required => 1, error => 'That aint this.', filters => ['trim', 'strip'] }; sub my_fields { my $fields = { this => { required => 1, error => 'This aint that.', filters => ['trim', 'strip'] }, that => { required => 1, error => 'That aint this.', filters => ['trim', 'strip'] } }; return $fields; } my $first_params = { this => '0123456789', that => '' }; my $second_params = { this => '', that => '' }; package main; my $v1 = MyVal->new( #fields => my_fields, params => $first_params, ignore_unknown => 1 ); # validation objects ok $v1, '1st validation object ok'; $v1->validate(qw/this that/); ok $v1->fields->{this}->{value} eq '0123456789', '1st validation object -this- field value correct'; my $v2 = MyVal->new( #fields => my_fields, params => $second_params, ignore_unknown => 1 ); ok $v2, '2nd validation object ok'; $v2->validate(qw/this that/); ok $v2->fields->{this}->{value} eq '', '2nd validation object -this- field value correct'; ok !$v2->params->{this}, '2nd validation object -this- param correct'; ok !$v2->fields->{this}->{value}, '2nd validation object -this- field value correct';