The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Validation::Class::Plugin::JavascriptObjects - Generate Javascript Objects from you Validation Classes

VERSION

version 0.01

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 => 'signup', include => [qw/name errors/]);

# should output

var signup = {
    "password": {
        "errors": ["password is required"],
        "name": "password"
    },
    "username": {
        "errors": ["username is required"],
        "name": "username"
    }
};

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/]
);

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.