
Brannigan::Validations - Built-in validation methods for Brannigan.

version 0.9

This module contains all built-in validation methods provided natively by the Brannigan input validation/parsing system.

All these methods receive the value of a parameter, and other values that explicilty define the requirements. They return a true value if the parameter's value passed the test, or a false value otherwise.
If $boolean has a true value,
this method will check that a required parameter was indeed provided; otherwise (i.e.
if $boolean is not true) this method will simply return a true value to indicate success.
You should note that if a parameter is required,
and a non-true value is received (i.e.
0 or the empty string ""),
this method considers the requirement as fulfilled (i.e.
it will return true).
If you need to make sure your parameters receive true values,
take a look at the is_true() validation method.
Please note that if a parameter is not required and indeed isn't provided with the input parameters, any other validation methods defined on the parameter will not be checked.
If $boolean has a true value,
this method will check that a forbidden parameter was indeed NOT provided; otherwise (i.e.
if $boolean has a false value),
this method will do nothing and simply return true.
If $boolean has a true value,
this method will check that $value has a true value (so,
$value cannot be 0 or the empty string); otherwise (i.e.
if $boolean has a false value),
this method does nothing and simply returns true.
Makes sure the value's length (stringwise) is inside the range of $min_length-$max_length,
or,
if the value is an array reference,
makes sure it has between $min_length and $max_length items.
Makes sure the value's length (stringwise) is at least $min_length,
or,
if the value is an array reference,
makes sure it has at least $min_length items.
Makes sure the value's length (stringwise) is no more than $max_length,
or,
if the value is an array reference,
makes sure it has no more than $max_length items.
Makes sure the value's length (stringwise) is exactly $length,
or,
if the value is an array reference,
makes sure it has exactly $exact_length items.
If boolean is true, makes sure the value is an integer.
Makes sure the value is between $min_value and $max_value.
Makes sure the value is at least $min_value.
Makes sure the value is no more than $max_value.
If $boolean is true,
makes sure the value is actually an array reference.
If $boolean is true,
makes sure the value is actually a hash reference.
Makes sure a parameter's value is one of the provided acceptable values.
Returns true if $value matches the regular express (qr//) provided.
Will return false if $regex is not a regular expression.

The following validations are useful for passphrase strength validations:
Returns a true value if $value is a string that has at least $integer alphabetic (A-Z and a-z) characters.
Returns a true value if $value is a string that has at most $integer alphabetic (A-Z and a-z) characters.
Returns a true value if $value is a string that has at least $integer digits (0-9).
Returns a true value if $value is a string that has at most $integer digits (0-9).
Returns a true value if $value has at least $integer special or sign characters (e.g.
%^&!@#,
or basically anything that isn't A-Za-z0-9).
Returns a true value if $value has at most $integer special or sign characters (e.g.
%^&!@#,
or basically anything that isn't A-Za-z0-9).
Returns a true value if $value does not have a sequence of consecutive characters longer than $integer.
Consequtive characters are either alphabetic (e.g.
abcd) or numeric (e.g.
1234).
Returns a true value if $value does not contain a sequence of a repeated character longer than $integer.
So,
for example,
if $integer is 3,
then "aaa901" will return true (even though there's a repetition of the 'a' character it is not longer than three),
while "9bbbb01" will return false.
Returns a true value if $value does not contain a dictionary word longer than $integer.
By default,
this method will look for the Unix dict files /usr/dict/words,
/usr/share/dict/words and /usr/share/dict/linux.words.
You can supply more dictionary files to look for with an array reference of full paths.
So,
for example,
if $integer is 3,
then "a9dog51" will return true (even though "dog" is a dictionary word,
it is not longer than three),
but "a9punk51" will return false,
as "punk" is longer.
WARNING: this method is known to not work properly when used in certain environments such as PSGI,
I'm investigating the issue.


Ido Perlmuter,
<ido at ido50 dot net>

Please report any bugs or feature requests to bug-brannigan at rt.cpan.org,
or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Brannigan.
I will be notified,
and then you'll automatically be notified of progress on your bug as I make changes.

You can find documentation for this module with the perldoc command.
perldoc Brannigan::Validations
You can also look for information at:

Copyright 2010 Ido Perlmuter.
This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.
See http://dev.perl.org/licenses/ for more information.