Al Newkirk > Validation-Class-Plugin-JavascriptObjects-0.03 > Validation::Class::Plugin::JavascriptObjects

Download:
Validation-Class-Plugin-JavascriptObjects-0.03.tar.gz

Dependencies

Annotate this POD

Website

View/Report Bugs
Module Version: 0.03   Source   Latest Release: Validation-Class-Plugin-JavascriptObjects-7.900021

NAME ^

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

VERSION ^

version 0.03

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.

syntax highlighting: