NAME

Data::Validator::Simple - Simple data validator. Not only for form validator.

SYNOPSIS

use Data::Validator::Simple;

my $data = Data::Validator::Simple->new( data => 5 );
my $result = $data->check( ['BETWEEN', 4, 10 ] );
if( $result ){
    print "valid";
}else{
    print "error";
}

complex pattern

my $data = Data::Validator::Simple->new( data => 5 , failed => 'failed message' );
my $result = $data->check(
    {
        rule    => [ 'EQUAL_TO', 6 ],
        success => 'fist_message',
    },
    {
        rule    => [ 'EQUAL_TO', 5 ],
        success => 'second_message',
    }
);
print $result; # second_message

if want to use as form validator

my $q = CGI->new;
$q->param( id   => 'login_id' );
$q->param( name => 'user_name' );
my %params = $q->Vars;

my $form = Data::Validator::Simple->form;
my $results = $form->check(
    \%params,
    {
        id => [ 'ASCII', [ 'LENGTH', 4, 10 ] ],
        name => [ 'LENGTH', 4, 20  ]
    }
 );
if( $results->{id} && $results->{name} ){
    print "valid";
}

DESCRIPTION

Data::Validator::Simple is a data validator but not only for form validation.

VALIDATION RULES

ASCII
my $data = Data::Validator::Simple->new( data => 'abcde' );
$data->check( 'ASCII' );
EQUAL_TO
my $data = Data::Validator::Simple->new( data => 5 );
$data->check( [ 'EQUAL_TO', 5 ] );

$data = Data::Validator::Simple->new( data => 'Hello' );
$data->check( [ 'EQUAL_TO', 'Hello' ] );
LENGTH
my $data = Data::Validator::Simple->new( data => 'Hello' );
$data->check( [ 'LENGTH', 5 ] );

$data = Data::Validator::Simple->new( data => 'Hello' );
$data->check( [ 'LENGTH', 4, 6 ] );
BETWEEN
my $data = Data::Validator::Simple->new( data => 5 );
$data->check( [ 'BETWEEN', 2, 10 ] );

my $data = Data::Validator::Simple->new( data => [ 'year', 'month', 'date' ], as => 'DATE' );
$data->check( [ 'BETWEEN', [ 'year', 'month', 'date' ] , [ 'year', 'month', 'date' ] ] );
GREATER_THAN
my $data = Data::Validator::Simple->new( data => 5 );
$data->check( [ 'GREATER_THAN', 4 ] );
LESS_THAN
my $data = Data::Validator::Simple->new( data => 5 );
$data->check( [ 'LESS_THAN', 6 ] );

AUTHOR

Yusuke Wada <yusuke at kamawada.com>

SEE ALSO

FormValidator::Simple

LICENSE

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.