File Coverage

blib/lib/HTML/Widget/JavaScript/Constraint/Length.pm
Criterion Covered Total %
statement 9 9 100.0
branch n/a
condition n/a
subroutine 3 3 100.0
pod n/a
total 12 12 100.0


line stmt bran cond sub pod time code
1             package HTML::Widget::JavaScript::Constraint::Length;
2            
3 1     1   1235 use warnings;
  1         1  
  1         26  
4 1     1   20 use strict;
  1         2  
  1         30  
5            
6 1     1   5 use base 'HTML::Widget::Constraint::Length';
  1         2  
  1         514  
7            
8             =head1 NAME
9            
10             HTML::Widget::JavaScript::Constraint::Length - JavaScript Length Constraint
11            
12             =head1 VERSION
13            
14             Version 0.02
15            
16             =cut
17            
18             our $VERSION = '0.02';
19            
20             =head1 SYNOPSIS
21            
22             JavaScript Length Constraint.
23            
24             =head1 METHODS
25            
26             See L.
27            
28             =head2 $self->emit_javascript($var_name)
29            
30             Emits this constraint's JavaScript validation code.
31            
32             =cut
33            
34             sub emit_javascript {
35             my ($self, $var_name) = @_;
36            
37             my $min = $self->minimum;
38             my $max = $self->maximum;
39            
40             my $msg = $self->message;
41            
42             my @js_constraints;
43            
44             my $not = $self->not ? '!' : '';
45            
46             for my $param (@{$self->names}) {
47             if ($min) {
48             push(@js_constraints, "$not (${var_name}.${param}.value.length < $min)");
49             }
50            
51             if ($max) {
52             push(@js_constraints, "$not (${var_name}.${param}.value.length > $max)");
53             }
54             }
55            
56             return @js_constraints;
57             }
58            
59             =head1 AUTHOR
60            
61             Nilson Santos Figueiredo Júnior, C<< >>
62            
63             =head1 BUGS
64            
65             Please report any bugs or feature requests directly to the author.
66             If you ask nicely it will probably get fixed or implemented.
67            
68             =head1 COPYRIGHT & LICENSE
69            
70             Copyright 2006, 2009 Nilson Santos Figueiredo Júnior, all rights reserved.
71            
72             This program is free software; you can redistribute it and/or modify it
73             under the same terms as Perl itself.
74            
75             =cut
76            
77             1; # End of HTML::Widget::JavaScript::Constraint