NAME
HTML::FormValidator::ConstraintsFactory - Module to create constraints for HTML::FormValidator.
SYNOPSIS
use HTML::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( "AB QC ON TN NU" ),
bid => make_range_constraint( 1, 1, 10 ),
}
DESCRIPTION
This module contains several functions which returns closures that can be used for constraints.
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.
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.
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.
SEE ALSO
HTML::FormValidator(3) HTML::FormValidator::Constraints(3)
AUTHOR
Francis J. Lacoste <francis.lacoste@iNsu.COM>
COPYRIGHT
Copyright (c) 2000 iNsu Innovations Inc. All rights reserved.
This program is free software; you can redistribute it and/or modify it under the terms as perl itself.