NAME
Valiant::Validator::Boolean - Verify that a value is either true or false
SYNOPSIS
package
Local::Test::Boolean;
use
Moo;
use
Valiant::Validations;
has
active
=> (
is
=>
'ro'
);
validates
active
=> (
boolean
=> {
state
=> 1,
# valid values are 1 (must be true) or 0 (must be false)
}
);
my
$object
= Local::Test::Boolean->new(
active
=>0);
$object
->validate;
warn
$object
->errors->_dump;
$VAR1
= {
'active'
=> [
'Active must be true'
,
]
};
DESCRIPTION
Checks a value to see if it is true or false based on Perl's notion of truthiness. This will not limit the value. For example values of 1, 'one' and [1,2,3] are considered true while values of 0, undef are false.
ATTRIBUTES
This validator supports the following attributes:
state
The required boolean value of the given value for the validator to pass. Allowed values are 1 (which requires true) and 0 (which requires false).
Value may also be a coderef.
is_not_true
The error message / tag used when the value is not true
is_not_false
The error message / tag used when the value is not false
SHORTCUT FORM
This validator supports the follow shortcut forms:
validates
attribute
=> (
boolean
=> 1, ... );
Which is the same as:
validates
attribute
=> (
boolean
=> {
state
=> 1,
}
);
The negation of this also works
validates
attribute
=> (
boolean
=> 0, ... );
Which is the same as:
validates
attribute
=> (
boolean
=> {
state
=> 0,
}
);
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