table of contents
Validation::Class::Directive(3pm) | User Contributed Perl Documentation | Validation::Class::Directive(3pm) |
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 <anewkirk@ana.io>
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.
2023-06-11 | perl v5.36.0 |