GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  HTML::TEMPLATE::ASSOCIATE::FORMVALIDATOR (3)

.ds Aq ’

NAME



        HTML::Template::Associate::FormValidator - HTML::Template::Associate Data::FormValidator plugin



CONTENTS

SYNOPSIS



        This class is not intended to be used directly but rather through a
        HTML::Template::Associate. It provides concrete class functionality, it
        will take Data::FormValidator::Results object and reconstruct data structure
        to one appropriate for use by the HTML::Template.
       
        use CGI qw/:standard/;
        use Data::FormValidator;
        use HTML::Template;
        use HTML::Template::Associate;
       
        my $cgi = CGI->new;
        #for testing purposes we can add some input to our cgi object
        $cgi->param( fullname, John Doe );
        $cgi->param( phone, 6041112222 );
        $cgi->param( email, invalid@email );
       
        my $input_profile = {
                optional => [ qw( company fax country ) ],
                required => [ qw( fullname phone email address city state zipcode ) ],
                constraints  => {
                        email => email,
                        fax => american_phone,
                        phone => american_phone,
                        zipcode => /^\s*\d{5}(?:[-]\d{4})?\s*$/,
                        state => "state",
                },
                defaults => { country => "Canada" },
                msgs => {
                        prefix=> error_,
                        missing => Not Here!,
                        invalid => Problematic!,
                        invalid_seperator =>  <br /> ,
                        format => ERROR: %s,
                        any_errors => some_errors,
                }
        };
       
        my $validator = Data::FormValidator->new;
        my $results = $validator->check ( scalar $cgi->Vars, $input_profile );
       
        my $associate = HTML::Template::Associate->new( {
                target => FormValidator,
                results => $results,
                extra_arguments => [ $validator ] #not needed but just illustrated
        } );
       
        my $template = HTML::Template->new(
                filename => test.tmpl,
                associate => [ $cgi, $associate ]
        );
       
        print $template->output;
       
        #and in our test.tmpl file we could have
       
        Valid Fields:<br>
        <TMPL_LOOP NAME=VALID_FIELDS>
        Field Name: <TMPL_VAR NAME=FIELD_NAME><br>
        Field Value: <TMPL_VAR NAME=FIELD_VALUE><br>
        </TMPL_LOOP>
       
        Missing Fields:<br>
        <TMPL_LOOP NAME=MISSING_FIELDS>
        Field Name: <TMPL_VAR NAME=FIELD_NAME><br>
        Field Value: <TMPL_VAR NAME=FIELD_VALUE><br>
        </TMPL_LOOP>
       
        <TMPL_IF NAME=INVALID_phone>
        Phone: <TMPL_VAR NAME="phone"> you supplied is invalid.        
        </TMPL_IF>
       
        <TMPL_IF NAME=MISSING_city>
        City name is missing, please fix this.
        </TMPL_IF>
       
        <!-- We can also access our normal field names
        since $cgi object was passed as associate as well -->
       
        I think <TMPL_VAR NAME=country> is very big country.
       
        <!-- Optional use of Data::FormValidator::Results msgs interface -->
       
        Message Fields:
       
        <TMPL_LOOP NAME=MSGS_FIELDS>
        Field Name: <TMPL_VAR NAME=FIELD_NAME><br>
        Field Value: <TMPL_VAR NAME=FIELD_VALUE><br>
        </TMPL_LOOP>
       
        <TMPL_IF NAME=MSGS_error_city>
        Our default error message set in the profiling code is:
                <TMPL_VAR NAME=MSGS_error_city>
        </TMPL_IF>

        The following will become available to your associate object/template:
       
        Key            /                    Perl                /           Template
       
        Arrays / Loops
       
        VALID_FIELDS     / $associate->param(q{VALID_FIELDS});     / <TMPL_LOOP NAME=VALID_FIELDS>
        MISSING_FIELDS   / $associate->param(q{MISSING_FIELDS});   / <TMPL_LOOP NAME=MISSING_FIELDS>  
        INVALID_FIELDS   / $associate->param(q{INVALID_FIELDS});   / <TMPL_LOOP NAME=INVALID_FIELDS>
        UNKNOWN_FIELDS   / $associate->param(q{UNKNOWN_FIELDS});   / <TMPL_LOOP NAME=UNKNOWN_FIELDS>
        MSGS_FIELDS      / $associate->param(q{MSGS_FIELDS});      / <TMPL_LOOP NAME=MSGS_FIELDS>
       
        Variables 
       
        VALID_ParamA       / $associate->param(q{VALID_ParamA});       / <TMPL_VAR NAME=VALID_ParamA>
        MISSING_ParamB     / $associate->param(q{MISSING_ParamB});     / <TMPL_VAR NAME=MISSING_ParamB>
        INVALID_ParamC     / $associate->param(q{INVALID_ParamC});     / <TMPL_VAR NAME=INVALID_ParamC>
        UNKNOWN_ParamD     / $associate->param(q{UNKNOWN_ParamD});     / <TMPL_VAR NAME=UNKNOWN_ParamD>
        MSGS_prefix_ParamE / $associate->param(q{MSGS_prefix_ParamE}); / <TMPL_VAR NAME=MSGS_prefix_ParamE>
       
        Inside Array / Loops we have the following structure:
       
        Perl
       
        VALID_FIELDS => [ { FIELD_NAME => X }, FIELD_VALUE => Y }, ... ]
       
        Template
       
        <TMPL_LOOP NAME=VALID_FIELDS>
        <TMPL_VAR NAME=FIELD_NAME>
        <TMPL_VAR NAME=FIELD_VALUE>    
        </TMPL_LOOP>  
       
        For further explanation on what the VALID,MISSING,INVALID,UNKNOWN AND MSGS are
        please refer to Data::FormValidator::Results. Please note that MSGS
        works somewhat diffrently then others and corresponds to $results->msgs([$config])
        interface.



DESCRIPTION



        Map Data::FormValidator::Results object into a form suitable for use by HTML::Template



USAGE



        See above.



BUGS



        If you find any please report to author.



SUPPORT



        See License.



AUTHOR



        Alex Pavlovic
        alex.pavlovic@taskforce-1.com
        http://www.taskforce-1.com



COPYRIGHT



        This program is free software; you can redistribute
        it and/or modify it under the same terms as Perl itself.
       
        The full text of the license can be found in the
        LICENSE file included with this module.



SEE ALSO



        HTML::Template::Associate HTML::Template::Associate::DBI perl(1).



    init



        Usage     : $associate->init ( $results, $extra_arguments );
        Purpose   : Initiliazes the object
        Returns   : concrete object instance
        Argument  : Data::FormValidator::Results instance and extra hash of arguments passed to factory
        Comments  : Factory class will call this method automatically during concrete object construction
                : Error is thrown depending whether the passed in results object is of correct type

        See Also   : HTML::Template::Associate Data::FormValidator::Results



    runloop



        Usage     : used internally to assign various prefixes/names to variables and loops



Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 HTML::TEMPLATE::ASSOCIATE::FORMVALIDATOR (3) 2012-05-10

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.