Validation::Class::Directives - Validation::Class Core Directives Registry
Validation::Class::Directives provides a collection of installed
Validation::Class directives. This class inherits from
Validation::Class::Mapping. Please look at Validation::Class::Directive for
information of developing your own directives.
The following is a list of core directives that get installed automatically with
Validation::Class and can be used to jump-start your data validation
initiative. Please Note! The purpose of the core directives is merely
to provide a reasonable layer of protection against bad/malformed data, the
validators are not very sophisticated and were created using a minimal level
of strictness (e.g. the email and hostname directives do not perform a
hostname lookup nor does the email directive conform to the RFC
specification).
Various applications have varied levels of strictness regarding
various types of input (e.g. a hospital API may require a more sophisticated
SSN validation than that of a department of education API; likewise; an
email service API may require a more sophisticated email validation than
that of a file sharing API). Validation::Class does not attempt to provide
validators for all levels of strictness and the core directives exist to
support typical use-cases with a minimal level of strictness.
The alias directive is provided by Validation::Class::Directive::Alias and
handles parameter aliases.
The between directive is provided by Validation::Class::Directive::Between and
handles numeric range validation.
The city directive is provided by Validation::Class::Directive::City and handles
city/area validation for cities in the USA.
The creditcard directive is provided by Validation::Class::Directive::Creditcard
and handles validation for american express, bankcard, diners card, discover
card, electron, enroute, jcb, maestro, mastercard, solo, switch, visa and
voyager credit cards.
The date directive is provided by Validation::Class::Directive::Date and handles
validation of simple date formats.
The decimal directive is provided by Validation::Class::Directive::Decimal and
handles validation of floating point integers.
The default directive is provided by Validation::Class::Directive::Default and
hold the value which should be used if no parameter is supplied.
The depends_on directive is provided by Validation::Class::Directive::DependsOn
and validates the existence of dependent parameters.
The email directive is provided by Validation::Class::Directive::Email and
checks the validity of email address specified by the associated parameters
within reason. Please note, the email directive does not perform a host lookup
nor does it conform to the RFC specification.
The error directive is provided by Validation::Class::Directive::Error and holds
the error message that will supersede any other error messages that attempt to
register errors at the field-level for the associated field.
The errors directive is provided by Validation::Class::Directive::Errors and is
a container (object) which holds error message registered at the field-level
for the associated field.
The filtering directive is provided by Validation::Class::Directive::Filtering
and specifies whether filtering and sanitation should occur as a pre-process
or post-process.
The filters directive is provided by Validation::Class::Directive::Filters and
specifies which filter should be executed on the associated field.
The hostname directive is provided by Validation::Class::Directive::Hostname and
handles validatation of server hostnames.
The label directive is provided by Validation::Class::Directive::Label and holds
a user-friendly string (name) representing the associated field.
The length directive is provided by Validation::Class::Directive::Length and
validates the exact length of the associated parameters.
The matches directive is provided by Validation::Class::Directive::Matches and
validates whether the value of the dependent parameters matches that of the
associated field.
The max_alpha directive is provided by Validation::Class::Directive::MaxAlpha
and validates the length of alphabetic characters in the associated
parameters.
The max_digits directive is provided by Validation::Class::Directive::MaxDigits
and validates the length of numeric characters in the associated parameters.
The max_length directive is provided by Validation::Class::Directive::MaxLength
and validates the length of all characters in the associated parameters.
The max_sum directive is provided by Validation::Class::Directive::MaxSum and
validates the numeric value of the associated parameters.
The max_symbols directive is provided by
Validation::Class::Directive::MaxSymbols and validates the length of
non-alphanumeric characters in the associated parameters.
The messages directive is provided by Validation::Class::Directive::Messages and
is a container (object) which holds error message which will supersede the
default error messages of the associated directives.
The min_alpha directive is provided by Validation::Class::Directive::MinAlpha
and validates the length of alphabetic characters in the associated
parameters.
The min_digits directive is provided by Validation::Class::Directive::MinDigits
and validates the length of numeric characters in the associated parameters.
The min_length directive is provided by Validation::Class::Directive::MinLength
and validates the length of all characters in the associated parameters.
The min_sum directive is provided by Validation::Class::Directive::MinSum and
validates the numeric value of the associated parameters.
The min_symbols directive is provided by
Validation::Class::Directive::MinSymbols and validates the length of
non-alphanumeric characters in the associated parameters.
The mixin directive is provided by Validation::Class::Directive::Mixin and
determines what directive templates will be merged with the associated field.
The mixin_field directive is provided by
Validation::Class::Directive::MixinField and determines what fields will be
used as templates and merged with the associated field.
The multiples directive is provided by Validation::Class::Directive::Multiples
and validates whether the associated parameters may contain a multi-value (an
array of strings).
The name directive is provided by Validation::Class::Directive::Name and merely
holds the name of the associated field. This value is populated automatically.
The options directive is provided by Validation::Class::Directive::Options and
holds an enumerated list of values to be validated against the associated
parameters.
The pattern directive is provided by Validation::Class::Directive::Pattern and
handles validation of simple patterns and complex regular expressions.
The readonly directive is provided by Validation::Class::Directive::Readonly and
determines whether the associated parameters should be ignored.
The required directive is provided by Validation::Class::Directive::Required and
handles validation of supply and demand.
The ssn directive is provided by Validation::Class::Directive::SSN and handles
validation of social security numbers in the USA.
The state directive is provided by Validation::Class::Directive::State and
handles state validation for states in the USA.
The telephone directive is provided by Validation::Class::Directive::Telephone
and handles telephone number validation for the USA and North America.
The time directive is provided by Validation::Class::Directive::Time and handles
validation for standard time formats.
The toggle directive is provided by Validation::Class::Directive::Toggle and
used internally to handle validation of per-validation-event requirements.
The uuid directive is provided by Validation::Class::Directive::UUID and handles
validation of Globally/Universally Unique Identifiers.
The validation directive is provided by Validation::Class::Directive::Validation
and used to execute user-defined validation routines.
The value directive is provided by Validation::Class::Directive::value and hold
the absolute value of the associated field.
The zipcode directive is provided by Validation::Class::Directive::Zipcode and
handles postal-code validation for areas in the USA and North America.
Al Newkirk <anewkirk@ana.io>
This software is copyright (c) 2011 by Al Newkirk.
This is free software; you can redistribute it and/or modify it
under the same terms as the Perl 5 programming language system itself.