File Coverage

blib/lib/HTML/FormFu/Validator/Callback.pm
Criterion Covered Total %
statement 16 17 94.1
branch n/a
condition 1 2 50.0
subroutine 5 6 83.3
pod 0 1 0.0
total 22 26 84.6


line stmt bran cond sub pod time code
1 3     3   1363 use strict;
  3         7  
  3         237  
2              
3             package HTML::FormFu::Validator::Callback;
4             $HTML::FormFu::Validator::Callback::VERSION = '2.07';
5             # ABSTRACT: Callback validator
6              
7 3     3   21 use Moose;
  3         7  
  3         30  
8 3     3   21730 use MooseX::Attribute::Chained;
  3         10  
  3         395  
9             extends 'HTML::FormFu::Validator';
10              
11             has callback => ( is => 'rw', traits => ['Chained'] );
12              
13             sub validate_value {
14 8     8 0 20 my ( $self, $value, $params ) = @_;
15              
16 8   50 0   294 my $callback = $self->callback || sub {1};
  0            
17              
18             ## no critic (ProhibitNoStrict);
19 3     3   24 no strict 'refs';
  3         14  
  3         304  
20              
21 8         36 my $ok = $callback->( $value, $params );
22              
23 8         3932 return $ok;
24             }
25              
26             __PACKAGE__->meta->make_immutable;
27              
28             1;
29              
30             __END__
31              
32             =pod
33              
34             =encoding UTF-8
35              
36             =head1 NAME
37              
38             HTML::FormFu::Validator::Callback - Callback validator
39              
40             =head1 VERSION
41              
42             version 2.07
43              
44             =head1 SYNOPSIS
45              
46             $field->validator('Callback')->callback( \&my_validator );
47              
48             ---
49             elements:
50             - type: Text
51             name: foo
52             validators:
53             - type: Callback
54             callback: "main::my_validator"
55              
56             =head1 DESCRIPTION
57              
58             Callback validator.
59              
60             The first argument passed to the callback is the submitted value for the
61             associated field. The second argument passed to the callback is a hashref of
62             name/value pairs for all input fields.
63              
64             =head1 METHODS
65              
66             =head2 callback
67              
68             Arguments: \&code-reference
69              
70             Arguments: "subroutine-name"
71              
72             =head1 SEE ALSO
73              
74             Is a sub-class of, and inherits methods from L<HTML::FormFu::Validator>
75              
76             L<HTML::FormFu>
77              
78             =head1 AUTHOR
79              
80             Carl Franks C<cfranks@cpan.org>
81              
82             =head1 LICENSE
83              
84             This library is free software, you can redistribute it and/or modify it under
85             the same terms as Perl itself.
86              
87             =head1 AUTHOR
88              
89             Carl Franks <cpan@fireartist.com>
90              
91             =head1 COPYRIGHT AND LICENSE
92              
93             This software is copyright (c) 2018 by Carl Franks.
94              
95             This is free software; you can redistribute it and/or modify it under
96             the same terms as the Perl 5 programming language system itself.
97              
98             =cut