1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
|
use strict;
use warnings;
use Test::More tests => 6;
use HTML::FormFu;
my $form = HTML::FormFu->new;
$form->auto_fieldset( { nested_name => 'foo' } );
$form->element('Text')->name('bar')->constraint('MinMaxFields')
->others([qw/ foo.baz foo.bag foo.nod /])->min(1)->max(2);
$form->element('Text')->name('baz');
$form->element('Text')->name('bag');
$form->element('Text')->name('nod');
# Valid
{
$form->process( {
'foo.bar' => 1,
'foo.baz' => '',
'foo.bag' => [2],
'foo.nod' => '',
} );
ok( !$form->has_errors );
}
# Valid
{
$form->process( {
'foo.bar' => 1,
'foo.baz' => '',
'foo.bag' => '',
'foo.nod' => '',
} );
ok( !$form->has_errors );
}
# Invalid
{
$form->process( {
'foo.bar' => 1,
'foo.baz' => 2,
'foo.bag' => '',
'foo.nod' => 22,
} );
ok( $form->has_errors('foo.bar') );
ok( !$form->has_errors('foo.baz') );
ok( !$form->has_errors('foo.bag') );
ok( !$form->has_errors('foo.nod') );
}
|