Validation::Class: Released version 7.900001

I wanted to formally annouce the release of Validation::Class, as of version 7.900001 the codebase is dramatically different though it maintains backwards compatibility at about 95%. The following is the current complete list of core directives (validation rules). As stated in the documentation, the purpose of the core directives is merely to provide a reasonable layer of protection against bad/malformed data and validators are not very sophisticated. e.g. the email directive does not perform a host lookup, etc:

alias           - handles parameter aliases
between         - handles numeric range validation
city            - handles city/area validation for cities in the USA
creditcard      - handles validation for credit cards
date            - handles validation of simple date formats
decimal         - handles validation of floating point integers
default         - hold the value used if no parameter exists
depends_on      - validates the existence of dependent parameters
email           - checks the validity of email addresses
error           - holds the error message that will supersede other errors
errors          - used internally
filtering       - specifies pre-or-post filtering per field
filters         - specifies list of filters per field
hostname        - handles validatation of server hostnames
label           - holds a user-friendly string (name) representing the field
length          - validates the exact length
matches         - validates that dependent parameter values match
max_alpha       - validates the length of alphabetic characters
max_digits      - validates the length of numeric characters
max_length      - validates the length of all characters
max_sum         - validates the numeric value
max_symbols     - validates the length of non-alphanumeric characters
messages        - holds error message which will supersede class-level messages
min_alpha       - validates the length of alphabetic characters
min_digits      - validates the length of numeric characters
min_length      - validates the length of all characters
min_sum         - validates the numeric value
min_symbols     - validates the length of non-alphanumeric characters
mixin           - specifies list of mixins to merge
mixin_field     - specifies list of fields to merge
multiples       - validates whether multi-value parameters are expected
name            - used internally
options         - enumerated list of values to be validated against
pattern         - handles validation of simple patterns and complex regular expressions
readonly        - ignore parameter values
required        - validation of supply and demand
ssn             - validation of social security numbers in the USA
state           - handles state validation for states in the USA
telephone       - handles telephone number validation for the USA and North America
time            - handles validation for standard time formats
toggle          - used internally
uuid            - handles validation of globally/universally unique identifiers
validation      - execute user-defined validation routines
value           - hold the absolute value
zipcode         - handles postal-code validation for areas in the USA and North America

Check it out on MetaCPAN.

If you like it, like it, follow it, etc. If you hate it, let me know why, please.


If you are interested in helping me extend the library by creating your own directive classes, contact me socially, IRC (anewkirk|anaio), or checkout the directives base class.


How can a user know if her application will keep working after the upgrade? How can she know that the validations will be correct even after the upgrade which is only 95% backward compatible?

Leave a comment

About Al Newkirk

user-pic ... proud Perl hacker, ask me anything!