NAME
Validation::Class::Plugin::JavascriptObjects - Javascript Object
Rendering for Validation::Class
VERSION
version 0.04
SYNOPSIS
# THIS PLUGIN IS UNTESTED AND MAY BE SUBJECT TO DESIGN CHANGES!!!
use Validation::Class::Simple;
# given
my $rules = Validation::Class::Simple->new(
fields => {
username => { required => 1 },
password => { required => 1 },
}
);
# when
my $objects = $rules->plugin('javascript_objects');
print $objects->render(namespace => 'form.signup', include => [qw/errors/]);
# should output
var form.signup = {
"password": {
"errors": ["password is required"]
},
"username": {
"errors": ["username is required"]
}
};
DESCRIPTION
Validation::Class::Plugin::JavascriptObjects is a plugin for
Validation::Class which can leverage your validation class field
definitions to render JavaScript objects for the purpose of
introspection.
METHODS
render
The render method converts the attached validation class into a
javascript object for introspection purposes. This method accepts a list
of key/value pairs as options.
$self->render;
# or
$self->render(
namespace => 'Foo.Bar',
exclude => [qw/pattern/]
);
# or
$self->render(
namespace => 'Foo.Baz',
include => [qw/minlength maxlength required/]
);
# or, to also limit the fields output
$self->render(
namespace => 'Foo.Baz',
fields => [qw/this that/],
include => [qw/minlength maxlength required/]
);
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.