FormValidator::LazyWay::Rule::Number - Number Rule


FormValidator-LazyWay documentation Contained in the FormValidator-LazyWay distribution.

Index


Code Index:

NAME

Top

FormValidator::LazyWay::Rule::Number - Number Rule

DESCRIPTION

Top

METHOD

Top

range

range

 Number#range :
    min : 3
    max : 10

int

integer

uint

unsigned integer

float

Top

float

ufloat

Top

unsigned float

AUTHOR

Top

Tomohiro Teranishi <tomohiro.teranishi@gmail.com>


FormValidator-LazyWay documentation Contained in the FormValidator-LazyWay distribution.

package FormValidator::LazyWay::Rule::Number;

use strict;
use warnings;

sub range {
    my $num = shift;
    my $args = shift;

    return 0 if $num > $args->{max};
    return 0 if $num < $args->{min};

    return 1;
}
sub int {
    my $num = shift;
    return 1 if $num eq '0';
    return $num =~ /^[-+]?[1-9][0-9]*$/ ? 1 : 0 ;
}
sub uint {
    my $num = shift;
    return 1 if $num eq '0';
    return $num =~ /^[1-9][0-9]*$/ ? 1 : 0 ;
}

sub float {
    my $num = shift;
    return $num =~ /^[-+]?([1-9][0-9]*|0)(\.[0-9]+)?$/ ? 1 : 0 ;
}

sub ufloat {
    my $num = shift;
    return $num =~ /^([1-9][0-9]*|0)(\.[0-9]+)?$/ ? 1 : 0 ;
}

1;