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. | $rules | | should be a reference to an array of rules, see RULES elsewhere in this
document for details. | | | $form_id | | 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. | | | $default_language | | language to use when no messages are available in the desired language.
Defaults to 'en'. | | | $charset | | 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. | $fdat | | should be a hash reference to all postend form values.
It defaults to %fdat of the current Embperl page. | | | $pref | | 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 | | key into $fdat which caused the error | | | id | | message id | | | typeobj | | object reference to the Validate object which was used to validate the field | | | name | | human readable name, if any. Maybe a hash with multiple languages. | | | msg | | field specific messages, if any. Maybe a hash with multiple languages. | | | param | | array with parameters which should subsituted inside the message | |
=pod
$epf -> error_message ($err, [ $pref ]) | top |
Converts one item returned by validate into a error message | $err | | Item returned by validate | | | $pref | | Preferences (see validate) | |
=pod
$epf -> validate_messages ($fdat, [ $pref ]) | top |
Validate the form content and returns the error messages
as array ref if any. See validate for details. =pod
$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: <script>
[+ do { local $escmode = 0 ; $epf -> get_script_code } +]
</script>
<form name="foo" action="POST" onSubmit="return epform_validate_foo()">
....
</form>
|