NAME
FormValidator::Simple::Struct::Regex - Plugin for FormValidator::Simple::Struct
VERSION
This document describes FormValidator::Simple::Struct::Regex version 0.18.
SYNOPSIS
use FormValidator::Simple::Struct;
$class = FormValidator::Simple::Struct->new;
$class->load_plugin('FormValidator::Simple::Struct::Regex');
DESCRIPTION
This module provides some validate methods based on regex
use Test::More;
ok $class->NOT_BLANK('value');
ng $class->NOT_BLANK('');
INTERFACE
Functions
INT
# allow integer ; 10 , 0 , -10
ok $v->check(
{key => "1" },
{key => "INT"});
STRING
# allow all Strings
ok $v->check(
["111" , "abcde"],
["STRING"]);
ASCII
# allow Arabic number and alphabet and ascii symbols
ok $v->check(
["111" , 'abcde!"#$%%()'],
["ASCII"]);
# not allow multi bytes characters
ng $v->check(
[Non-ASCII character],
["ASCII"]);
DECIMAL
# allow integer and decimals ; 10 1,0 , 0 , -10 , -1.0
ok $v->check(
["111" , "11.1" , "-11" , '0' , '-1.15'],
["DECIMAL"]);
URL
# allow ^http|^https
ok $v->check(
["http://google.com" , 'https://www.google.com/'],
["URL"]);
ng $v->check(
["git://google.com" , 'smb://www.google.com/'],
["URL"]);
this is base on Email::Valid;
DATETIME
# The following examples are followed.
ok $v->check([
'%Y-%m-%d %H:%M:%S',
'%Y/%m/%d %H:%M:%S',
'%Y-%m-%d %H-%M-%S',
'%Y/%m/%d %H-%M-%S',],
['DATETIME']);
DATE
# The following examples are followed.
ok $v->check([
'%Y-%m-%d',
'%Y/%m/%d'],
['DATE']);
TIME
# The following examples are followed.
ok $v->check([
'%H-%M-%S',
'%H-%M-%S'],
['TIME']);
LENGTH
# check value length
$rule = ["ASCII","NOT_BLANK" , ['LENGTH' , 1 , 8]];
ok $v->check(['a'] , $rule);
ng $v->check(['abcdefghi'] , $rule);
$rule = ["ASCII","NOT_BLANK" , ['LENGTH' , 4]];
ng $v->check(['abc'] , $rule) # false
ok $v->check(['abcd'] , $rule) # true
ng $v->check(['abcde'] , $rule) # false
BETWEEN
# check value
$rule = ["INT",['BETWEEN' , 1 , 8]];
ok $v->check([1] , $rule) # true
ng $v->check([3.1] , $rule) # false not INT
ok $v->check([5] , $rule) # true
ng $v->check([7.9] , $rule) # false not INT
ok $v->check([8] , $rule) # true
ng $v->check([9] , $rule) # false, input is over 8
ng $v->check([0] , $rule) # false, input is under 1
DEPENDENCIES
Perl 5.8.1 or later.
BUGS
All complex software has bugs lurking in it, and this module is no exception. If you find a bug please either email me, or add the bug to cpan-RT.
SEE ALSO
AUTHOR
S2 <s2otsa59@gmail.com>
LICENSE AND COPYRIGHT
Copyright (c) 2012, S2. All rights reserved.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.