use Test::More tests => 7;
package MyVal;
use Validation::Class;
field name => {required => 1};
field email => {required => 1};
field phone => {required => 1};
field address => {required => 1};
field company => {};
field fax => {};
field country => {
validation => sub {0}
};
package main;
my $v = MyVal->new(params => {});
ok $v, 'initialization successful';
ok $v->validate('country'), 'country validation passed, not required';
ok !$v->validate('+country'), 'country validation failed, requirement toggled';
ok $v->validate('country'), 'country validation passed, not required';
ok !$v->validate('name'), 'name validation failed, required';
ok $v->validate('-name'), 'name validation passed, requirement toggled';
ok !$v->validate('name'), 'name validation failed, required';