| HTML-Widget documentation | Contained in the HTML-Widget distribution. |
HTML::Widget::Constraint::Time - Time Constraint
my $c = $widget->constraint( 'Time', 'hour', 'minute', 'second' );
Time Constraint.
Sebastian Riedel, sri@oook.de
This library is free software, you can redistribute it and/or modify it under the same terms as Perl itself.
| HTML-Widget documentation | Contained in the HTML-Widget distribution. |
package HTML::Widget::Constraint::Time; use warnings; use strict; use base 'HTML::Widget::Constraint'; use Date::Calc;
sub process { my ( $self, $w, $params ) = @_; return [] unless ( $self->names && @{ $self->names } == 3 ); my ( $hour, $min, $sec ) = @{ $self->names }; my $h = $params->{$hour} || 0; my $m = $params->{$min} || 0; my $s = $params->{$sec} || 0; return [] unless ( $h && $m && $s ); my $results = []; unless ( $h =~ /^\d+$/ && $m =~ /^\d+$/ && $s =~ /^\d+$/ && Date::Calc::check_time( $h, $m, $s ) ) { push @$results, HTML::Widget::Error->new( { name => $hour, message => $self->mk_message } ); push @$results, HTML::Widget::Error->new( { name => $min, message => $self->mk_message } ); push @$results, HTML::Widget::Error->new( { name => $sec, message => $self->mk_message } ); } return $results; }
1;