Scroll to navigation

Validation::Class::Directives(3pm) User Contributed Perl Documentation Validation::Class::Directives(3pm)


Validation::Class::Directives - Validation::Class Core Directives Registry


version 7.900059


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 <>


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.

2023-06-11 perl v5.36.0