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';