File Coverage

blib/lib/HTML/Widget/JavaScript/Constraint/AllOrNone.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::AllOrNone;
2            
3 1     1   1354 use warnings;
  1         2  
  1         31  
4 1     1   5 use strict;
  1         2  
  1         32  
5            
6 1     1   4 use base 'HTML::Widget::Constraint::AllOrNone';
  1         2  
  1         622  
7            
8             =head1 NAME
9            
10             HTML::Widget::JavaScript::Constraint::AllOrNone - JavaScript AllOrNone 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 AllOrNone 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 @js_constraints;
38            
39             my $not = $self->not ? '' : '!';
40            
41             return
42             "($not((" .
43             join(' && ', map {"${var_name}.$_.value != ''"} @{$self->names}) .
44             ') || (' .
45             join(' && ', map {"${var_name}.$_.value == ''"} @{$self->names})
46             . ')))';
47             }
48            
49             =head1 AUTHOR
50            
51             Nilson Santos Figueiredo Júnior, C<< >>
52            
53             =head1 BUGS
54            
55             Please report any bugs or feature requests directly to the author.
56             If you ask nicely it will probably get fixed or implemented.
57            
58             =head1 COPYRIGHT & LICENSE
59            
60             Copyright 2006, 2009 Nilson Santos Figueiredo Júnior, all rights reserved.
61            
62             This program is free software; you can redistribute it and/or modify it
63             under the same terms as Perl itself.
64            
65             =cut
66            
67             1; # End of HTML::Widget::JavaScript::Constraint