NAME
Validation::Class::Directive - Base Class for Validation Class Directives
VERSION
version 7.900059
SYNOPSIS
package Validation::Class::Directive::CheckBlacklist;use base 'Validation::Class::Directive';use strict;use warnings;use Validation::Class::Util;use File::Slurp;has 'mixin' => 0;has 'field' => 1;has 'multi' => 0;has 'message' => '%s has been blacklisted';sub validate {my $self = shift;my ($proto, $field, $param) = @_;if (defined $field->{check_blacklist} && $param) {# is the parameter value blacklisted?my @blacklist = read_file('/blacklist.txt');$self->error if grep { $param =~ /^$_$/ } @blacklist;}}1;
... in your validation class:
package MyApp::Person;use Validation::Class;field ip_address => {required => 1,check_blacklist => 1};1;
... in your application:
package main;use MyApp::Person;my $person = MyApp::Person->new(ip_address => '0.0.0.0');unless ($person->validates('ip_address')) {# handle validation error}
DESCRIPTION
You can extend Validation::Class by creating your own validation rules (directives). Validation::Class::Directive provides a base-class for you to use when creating new directive classes. Please see Validation::Class::Directives for a complete list of core directives.
AUTHOR
Al Newkirk <[email protected]>
COPYRIGHT AND LICENSE
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.