5 1_validate_11_no_extra.t - Test CGI::Ex::Validate's ability to not allow extra form fields
10 use Test::More tests => 13;
12 use_ok('CGI::Ex::Validate');
16 sub validate { CGI::Ex::Validate::validate(@_) }
18 ###----------------------------------------------------------------###
20 ### test single group for extra fields
22 'group no_extra_fields' => 1,
23 foo => {max_len => 10},
26 $e = validate({}, $v);
29 $e = validate({foo => "foo"}, $v);
32 $e = validate({foo => "foo", bar => "bar"}, $v);
35 $e = validate({bar => "bar"}, $v);
39 ### test on failed validate if
41 'group no_extra_fields' => 1,
42 'group validate_if' => 'baz',
43 foo => {max_len => 10},
46 $e = validate({}, $v);
49 $e = validate({foo => "foo"}, $v);
52 $e = validate({foo => "foo", bar => "bar"}, $v);
55 $e = validate({bar => "bar"}, $v);
58 ### test on successful validate if
60 'group no_extra_fields' => 1,
61 'group validate_if' => 'baz',
62 foo => {max_len => 10},
63 baz => {max_len => 10},
66 $e = validate({baz => 1}, $v);
69 $e = validate({baz => 1, foo => "foo"}, $v);
72 $e = validate({baz => 1, foo => "foo", bar => "bar"}, $v);
75 $e = validate({baz => 1, bar => "bar"}, $v);