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

NAME

Validation::Class::Plugin::JavascriptObjects - Javascript Object Rendering for Validation::Class

VERSION

version 7.900021

SYNOPSIS

    # this plugin is in working condition but untested!!!

    use Validation::Class::Simple;
    use Validation::Class::Plugin::JavascriptObjects;

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

    # then, output should be ...

    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.