MooX::Validate - Minimalist Data Validation for Moo
version 0.000003
package Cat::Food; use Moo; use MooX::Validate; has brand => ( is => 'ro', validate => { options => ['SWEET-TREATZ', 'TREATZ-THATR-SWEET', 'NOM-NOMS'], filters => ['trim', 'strip'], } ); has pounds => ( is => 'rw', validate => { error => "less than 15 pounds, are you nuts?", filters => ['trim','strip', 'numeric'], min_sum => 15, } ); package main; my $food = Cat::Food->new(brand => 'NOM-NOMS', pounds => 20); $food->pounds(' p1oy5 '); # YIPPEE $food->pounds(10); # KABOOM 1;
MooX::Validate is mashup between Validation::Class::Simple, a wrapper around the Validation::Class library, which provides minimalist validation and filtering automation, and Moo. Validation::Class is a robust data validation library that ships with a complete set of pre-defined validations and filters referred to as directives. Moo is an extremely light-weight subset of Moose optimised for rapid startup and "pay only for what you use". It also avoids depending on any XS modules to allow simple deployments. The name Moo is based on the idea that it provides almost but not quite two thirds of Moose.
Moo
The validator method gives you access to a Validation::Class::Simple object using the pre-declared validation rules defined in the attribute declarations. See Validation::Class::Simple for more information on utilizing this object.
my $validator = $self->validator; $validator->validate(@specifically);
Al Newkirk <anewkirk@ana.io>
This software is copyright (c) 2013 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.
To install MooX::Validate, copy and paste the appropriate command in to your terminal.
cpanm
cpanm MooX::Validate
CPAN shell
perl -MCPAN -e shell install MooX::Validate
For more information on module installation, please visit the detailed CPAN module installation guide.