logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Data::FormValidator::ConstraintsFactory - Module to create constraints for HTML::FormValidator.

Author

       Author: Francis J. Lacoste <francis.lacoste@iNsu.COM> Maintainer: Mark Stosberg <mark@summersault.com>

Boolean Constraints

       Those constraints are available by using the ":bool" tag.

   make_not_constraint($c1)
       This will create a constraint that will return the negation of the result of constraint $c1.

   make_or_constraint(@constraints)
       This will create a constraint that will return the result of the first constraint that return an non
       false result.

   make_and_constraint(@constraints)
       This will create a constraint that will return the result of the first constraint that return an non
       false result only if all constraints returns a non-false results.

Description

       This module contains functions to help generate complex constraints.

       If you are writing new code, take a look at Data::FormValidator::Constraints::MethodsFactory instead.
       It's a modern alternative to what's here, offering improved names and syntax.

Name

       Data::FormValidator::ConstraintsFactory - Module to create constraints for HTML::FormValidator.

Numerical Logical Constraints

       Those constraints are available by using the ":num" tag.

   make_clamp_constraint($res,$low,$high)
       This will create a constraint that will return $res if the value is between $low and $high bounds
       included or its negation otherwise.

   make_lt_constraint($res,$bound)
       This will create a constraint that will return $res if the value is lower than $bound, or the negation of
       $res otherwise.

   make_le_constraint($res,$bound)
       This will create a constraint that will return $res if the value is lower or equal than $bound, or the
       negation of $res otherwise.

   make_gt_constraint($res,$bound)
       This will create a constraint that will return $res if the value is greater than $bound, or the negation
       of $res otherwise.

   make_ge_constraint($res,$bound)
       This will create a constraint that will return $res if the value is greater or equal than $bound, or the
       negation of $res otherwise.

Other Constraints

make_length_constraint($max_length)
       This will create a constraint that will return true if the value has a length of less than or equal to
       $max_length

See Also

Data::FormValidator(3)

Set Constraints

       Those constraints are available by using the ":set" tag.

   make_set_constraint($res,@elements)
       This will create a constraint that will return $res if the value is one of the @elements set, or the
       negation of $res otherwise.

       The "eq" operator is used for comparison.

   make_num_set_constraint($res,@elements)
       This will create a constraint that will return $res if the value is one of the @elements set, or the
       negation of $res otherwise.

       The "==" operator is used for comparison.

   make_word_set_constraint($res,$set)
       This will create a constraint that will return $res if the value is a word in $set, or the negation of
       $res otherwise.

   make_cmp_set_constraint($res,$cmp,@elements)
       This will create a constraint that will return $res if the value is one of the @elements set, or the
       negation of $res otherwise.

       $cmp is a function which takes two argument and should return true or false depending if the two elements
       are equal.

Synopsis

           use Data::FormValidator::ConstraintsFactory qw( :set :bool );

           constraints => {
           param1 => make_or_constraint(
                   make_num_set_constraint( -1, ( 1 .. 10 ) ),
                   make_set_constraint( 1, ( 20 .. 30 ) ),
                 ),
           province => make_word_set_constraint( 1, "AB QC ON TN NU" ),
           bid  => make_range_constraint( 1, 1, 10 ),
           }

See Also