NAME
Valiant::Validator::Exclusion - Value cannot be in a list
SYNOPSIS
package
Local::Test::Exclusion;
use
Moo;
use
Valiant::Validations;
has
domain
=> (
is
=>
'ro'
);
has
country
=> (
is
=>
'ro'
);
validates
domain
=> (
exclusion
=> +{
in
=> [
qw/org co/
],
},
);
validates
country
=> (
inclusion
=> +{
in
=> \
&restricted
,
},
);
sub
restricted {
my
$self
=
shift
;
return
(
qw(usa uk)
);
}
my
$object
= Local::Test::Exclusion->new(
domain
=>
'org'
,
country
=>
'usa'
,
);
$object
->validate;
warn
$object
->errors->_dump;
$VAR1
= {
'country'
=> [
'Country is reserved'
],
'domain'
=> [
'Domain is reserved'
]
};
DESCRIPTION
Value cannot be from a list of reserved values. Value can be given as either an arrayref or a coderef (which recieves the validating object as the first argument, so you can call methods for example).
If value is invalid uses the exclusion
translation tag (which you can override as an argument).
SHORTCUT FORM
This validator supports the follow shortcut forms:
validates
attribute
=> (
exclusion
=> [
qw/a b c/
], ... );
Which is the same as:
validates
attribute
=> (
exclusion
=> +{
in
=> [
qw/a b c/
],
},
);
This also works for the coderef form:
validates
attribute
=> (
exclusion
=> \
&coderef
, ... );
validates
attribute
=> (
exclusion
=> +{
in
=> \
&coderef
,
},
);
GLOBAL PARAMETERS
This validator supports all the standard shared parameters: if
, unless
, message
, strict
, allow_undef
, allow_blank
.
SEE ALSO
Valiant, Valiant::Validator, Valiant::Validator::Each.
AUTHOR
See Valiant
COPYRIGHT & LICENSE
See Valiant