| HTML-FormFu documentation | Contained in the HTML-FormFu distribution. |
HTML::FormFu::Constraint::Range - Numerical Range Constraint
type: Range
min: 18
max: 35
Numerical range constraint.
This constraint doesn't honour the not() value.
Is a sub-class of, and inherits methods from HTML::FormFu::Constraint
Carl Franks cfranks@cpan.org
This library is free software, you can redistribute it and/or modify it under the same terms as Perl itself.
| HTML-FormFu documentation | Contained in the HTML-FormFu distribution. |
package HTML::FormFu::Constraint::Range; use Moose; use MooseX::Aliases; extends 'HTML::FormFu::Constraint'; use Scalar::Util qw( looks_like_number ); has minimum => ( is => 'rw', alias => 'min', traits => ['Chained'], ); has maximum => ( is => 'rw', alias => 'max', traits => ['Chained'], ); sub constrain_value { my ( $self, $value ) = @_; return 1 if !defined $value || $value eq ''; return if !looks_like_number($value); if ( defined( my $min = $self->minimum ) ) { return 0 if $value < $min; } if ( defined( my $max = $self->maximum ) ) { return 0 if $value > $max; } return 1; } sub _localize_args { my ($self) = @_; return $self->min, $self->max; } __PACKAGE__->meta->make_immutable; 1; __END__