NAME

FormValidator::Lite::Constraint::Default - default constraint rules

DESCRIPTION

This module provides default constraint rules for FormValidator::Lite.

CONSTRAINTS

NOT_NULL

The parameter is true value or not.

NOT_BLANK, REQUIRED

Synonym of NOT_NULL.

INT

The parameter looks like a integer? i.e. It matches /^[+\-]?[0-9]+$/?

UINT

The parameter looks like a unsigned integer? i.e. It matches /^[0-9]+$/?

ASCII
$_ =~ /^[\x21-\x7E]+$/

The parameter is just ASCII?

DUPLICATION
$validator->check(
    {mails => [qw/mail1 mail2/]} => ['DUPLICATION']
);

The two parameters have same value?

DUP

Synonym of DUPLICATION.

LENGTH
$validator->check(
    name     => [[qw/LENGTH 5 20/]],
    password => [[qw/LENGTH 5/]],
);

Check the length of data. First argument means $minumum value, second argument is $max. $max is optional.

EQUAL
$validator->check(
    name => [[EQUAL => "foo"]],
);

Check parameter match the argument or not.

REGEX
$validator->check(
    name => [[REGEXP => qr/^[0-9]$/]],
);

Check regexp matches parameter or not.

REGEXP

Synonym of REGEX.

CHOICE
$validator->check(
    sex => [[CHOICE => qw/male female/]]
);

The parameter is one of choice or not.

IN

Synonym of CHOICE.

NOT_IN
$validator->check(
    new_user => [[NOT_IN => \@existing_users]]
);

The parameter does not belong to the list of values.

MATCH
use MyApp::Util qw/is_foo/;

$validator->check(
    foo => [[MATCH => \&is_foo ]],
    bar => [[MATCH => sub { $_[0] eq 'foo' } ]],
);

Check parameter using callback. Callback takes parameter as first argument, should return true/false.

FILTER
$validator->check(
    foo => [[FILTER => 'trim'], 'INT'],
    bar => [[FILTER => sub { $_[0] . '@example.com' } ], 'EMAIL'],
);

FILTER is special constraint. It does not check the value and simply filter. "trim" is only pre-defined. You can also pass a callback. Callback takes parameter as first argument, should return filtered value.