Embperl - building dynamic websites with Perl

[ << Prev: SYNOPSIS ] [ Content ] [ Next: DATA STRUCTURES >> ]

The following methods are available:

$epf = Embperl::Form::Validate -> new ($rules [, $form_id ], [$default_language], [$charset]);top

Constructor for a new form validator. Returns a reference to a Embperl::Form::Validate object.




should be a reference to an array of rules, see RULES elsewhere in this document for details.




should be the name (im HTML) or id (in XHTML) parameter of the form tag, which has to be verified.It\'s e.g. used for generating the right path in the JavaScript DOM. It defaults to 'forms[0]' which should be the first form in your page.




language to use when no messages are available in the desired language. Defaults to 'en'.




Pass 'utf-8' in case you want utf-8 messages.

$epf->add_rules($field, $field_rules);top

Adds rules $field_rules for a (new) field $field to the validator, e.g.

 $epf->add_rule([ -key => 'fnord', -type => 'Number', -max => 1.3, -name => 'Fnord' ]);

The new rule will be appended to the end of the list of rules.

See RULES elsewhere in this document.

$epf -> validate ([$fdat, [$pref]]);top

Does the server-side form validation.




should be a hash reference to all postend form values. It defaults to %fdat of the current Embperl page.




can contain additional information for the validation process. At the moment the keys language and default_language are recognized. language defaults to the language set by Embperl. default_language defaults to the one given with new.

The method verifies the content $fdat according to the rules given to the Embperl::Form::Validate constructor and added by the add_rule() method and returns an array reference to error information. If there is no error it returns undef. Each element of the returned array contains a hash with the following keys:




key into $fdat which caused the error




message id




object reference to the Validate object which was used to validate the field




human readable name, if any. Maybe a hash with multiple languages.




field specific messages, if any. Maybe a hash with multiple languages.




array with parameters which should subsituted inside the message


$epf -> error_message ($err, [ $pref ])top

Converts one item returned by validate into a error message




Item returned by validate




Preferences (see validate)


$epf -> validate_messages ($fdat, [ $pref ])top

Validate the form content and returns the error messages as array ref if any. See validate for details.


$epf -> get_script_code ([$pref])top

Returns the script code necessary to do the client-side validation. Put the result between <SCRIPT> and </SCRIPT> tags inside your page. It will contain a function that is named epform_validate_<name_of_your_form> where <name_of_your_form> is replaced by the form named you have passed to new. You should call this function in the onSubmit of your form. Example:

    [+ do { local $escmode = 0 ; $epf -> get_script_code } +]

    <form name="foo" action="POST" onSubmit="return epform_validate_foo()">

[ << Prev: SYNOPSIS ] [ Content ] [ Next: DATA STRUCTURES >> ]

© 1997-2023 Gerald Richter / actevy