MojoX-Validate-Util
view release on metacpan or search on metacpan
lib/MojoX/Validate/Util.pm view on Meta::CPAN
This method uses neither L<Mojolicious::Validator> nor L<Mojolicious::Validator::Validation>.
=head2 check_member($params, $topic, $set)
Parameters:
=over 4
=item o $params => A hashref
E.g.: $params = {love_popup_ads => $value, ...}.
=item o $topic => The name of the parameter being tested
E.g.: $topic = 'love_popup_ads'.
=item o $set => An arrayref of strings
E.g.: ['Yes', B<'No'>].
=back
Return value: Integer (0 or 1) as returned by L<Mojolicious::Validator::Validation#is_valid>.
=over 4
scripts/demo.pl view on Meta::CPAN
print "output: $output. \n";
print 'failed: ', join(', ', @{$validation -> failed}), ". \n";
print 'passed: ', join(', ', @{$validation -> passed}), ". \n";
print '-' x 15, ". \n";
}
}
}
@data =
(
{love_popup_ads => 'No'},
{love_popup_ads => 'Nyet'},
);
my($topic) = 'love_popup_ads';
my(@set) = ('Yes', 'No');
my($infix);
my($result);
for my $i (0 .. $#data)
{
$params = $data[$i];
print 'params: ', hashref2string($params), ". \n";
$validator = Mojolicious::Validator -> new;
$validation = Mojolicious::Validator::Validation->new(validator => $validator);
$validation -> input($params); # Not a required call with MojoX::Validate::Util.
$infix = ($i == 0) ? 'is' : 'is not';
$result = $validation -> required($topic) -> in(@set) -> is_valid ? 1 : 0;
print "Membership: $result (meaning '$$params{love_popup_ads}' $infix in the set "
. "@{[join(', ', map{qq|'$_'|} @set)]}). \n";
}
print "Finished. \n";
t/04.member.t view on Meta::CPAN
use Test::More;
use MojoX::Validate::Util;
# ------------------------------------------------
my($test_count) = 0;
my(@data) =
(
{love_popup_ads => 'No'}, # Pass.
{love_popup_ads => 'Nyet'}, # Fail
);
my($checker);
my($expected);
my($infix);
my($message);
my($params);
my($result);
for my $i (0 .. $#data)
{
$checker = MojoX::Validate::Util -> new;
$params = $data[$i];
$expected = ($i == 0) ? 1 : 0;
$infix = $expected ? '' : 'not ';
$message = (defined($$params{love_popup_ads}) ? "'$$params{love_popup_ads}'" : 'undef') . " does ${infix}satisfy a membership check";
$result = $checker -> check_member($params, 'love_popup_ads', ['Yes', 'No']) ? 1 : 0;
ok($result == $expected, $message); $test_count++;
}
print "# Internal test count: $test_count\n";
done_testing($test_count);
( run in 2.075 seconds using v1.01-cache-2.11-cpan-364913b4093 )