my %data = ( multiple => 'to fail', #multiple => [qw{this multi-value input will fail on the constraint below}], single => 'to pass', ); my %profile = ( required => [qw/ multiple single /], constraints => { multiple => [ { name => 'constraint_1', constraint => qr/\w/ }, # pass { name => 'constraint_2', constraint => qr/\d/ }, # force fail ], }, ); my $results = Data::FormValidator->check(\%data, \%profile);