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
HTML::Template::Associate::FormValidator(3) User Contributed Perl Documentation HTML::Template::Associate::FormValidator(3)

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

        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.

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

        See above.

        If you find any please report to author.

        See License.

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

        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.

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

        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

        Usage     : used internally to assign various prefixes/names to variables and loops
2012-05-10 perl v5.32.1

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

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