NAME
   JavaScript::DataFormValidator - JavaScript form validation from a Perl
   Data::FormValidator profile

SYNOPSIS
   This module helps with setting up a JavaScript validation for a form
   using Data.FormValidator, a JavaScript port of Data::FormValidator. A
   key feature of this system is that it allows you to use the *exact same*
   validation profile for both Perl and JavaScript validation.

   You should read the docs for the JavaScript implementation for some
   limitations: http://www.openjsan.org/doc/u/un/unrtst/Data/FormValidator/

   Here's an example with HTML::Template syntax:

     <script type="text/javascript" src="../JSAN/Data/FormValidator.js"></script>

     <!-- tmpl_var dfv_profile -->

     <form action="/foo"  <tmpl_var js_dfv_onsubmit > >
     <!-- ... ->
     </form>

   And then back in your perl code...

    use JavaScript::DataFormValidator;
    my $t = HTML::Template->new_file('foo.html');
    $t->param(
       dfv_profile => js_dfv_profile( 'my_form' => {
               required => [qw/email first_name/],
               optional => 'last_name',
               constraints => {
                   email => 'email',
               }
       }),
       js_dfv_onsubmit => js_dfv_onsubmit('my_form');
    );

 REQUIREMENTS
   The Data.FormValidator JavaScript file must be copied to your server so
   that you can call it. Download the latest version from here:
   http://www.openjsan.org/doc/u/un/unrtst/Data/FormValidator/

 js_dfv_profile( $profile_name => \%profile_hash );
   $dfv_profile_in_js = js_dfv_profile( $profile_name => \%profile_hash );

   Takes a named Data::FormValidator profile in Perl, and returns a
   representation of it in JavaScript, for use with the Data.FormValidator
   JavaScript module.

 STATUS
   Hopefully, it's done. It's very simple code.

   However, the API may break and change in the first weeks after the the
   release as I get feedback. I'll plan to at least make a new release to
   remove this notice once things seem stable.

 js_dfv_onsubmit($profile_name);
    $onsubmit_code = js_dfv_onsubmit($profile_name);

   Returns the Javascript snippet to put in your <form> tag to call the
   basic "check_and_report()" JavaScript validation function.

FUTURE DEVELOPMENT
   This module is mostly released as a demonstration of how to integrate
   with the Data.FormValidator JavaScript project. For anything more
   complicated, it will probably be easier to use this source code as
   starting point for a custom solution.


AUTHOR
   Mark Stosberg, "<mark at summersault.com>"

BUGS
   Please report any bugs or feature requests to
   "bug-cgi-application-plugin-javascript-formvalidator at rt.cpan.org", or
   through the web interface at
   <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=JavaScript-DataFormValid
   ator>. I will be notified, and then you'll automatically be notified of
   progress on your bug as I make changes.

SUPPORT
   * CPAN Page
       <http://search.cpan.org/dist/JavaScript-DataFormValidator>

   * RT: CPAN's request tracker
       <http://rt.cpan.org/NoAuth/Bugs.html?Dist=JavaScript-DataFormValidat
       or>

ACKNOWLEDGEMENTS
   This uses Data::JavaScript::Anon for the heavy lifting.

COPYRIGHT & LICENSE
   Copyright 2005 Mark Stosberg, all rights reserved.

   This program is free software; you can redistribute it and/or modify it
   under the same terms as Perl itself.