HTML_QuickForm::addRule()

HTML_QuickForm::addRule() – Adds a validation rule for the given field

Synopsis

require_once 'HTML/QuickForm.php';

void HTML_QuickForm::addRule ( mixed $element , string $message , string $type , string $format = '' , string $validation = 'server' , boolean $reset = false , boolean $force = false )

Description

If the element is in fact a group, it will be considered as a whole, an array of group elements' values will be passed to validation function. To validate grouped elements as separate entities, use addGroupRule().

Parameter

mixed $element

Form element name(s). Currently the only builtin rule that expects and correctly handles an array here is compare:

<?php
$form
->addElement('password''cmpPasswd''Password:');
$form->addElement('password''cmpRepeat''Repeat password:');
$form->addRule(array('cmpPasswd''cmpRepeat'), 'The passwords do not match''compare'null'client');
?>

All other builtin rules will only handle a single element name. callback rules can also handle an array here, but the callback function you provide will obviously need to properly handle an array of values.

string $message

Message to display for invalid data

string $type

Rule type, use getRegisteredRules() to get types. You can also pass a classname for a descendant of HTML_QuickForm_Rule or an instance of such class.

string $format

(optional) Required for extra rule data

string $validation

(optional) Where to perform validation: "server", "client"

boolean $reset

For client-side validation: reset the form element to its original value if there is an error?

boolean $force

Force the rule to be applied, even if the target form element does not exist

Throws

Possible PEAR_Error values
Error code Error message Reason Solution
QUICKFORM_NONEXIST_ELEMENT Element '$element' does not exist in HTML_QuickForm::addRule() Tried to add a rule for a non-existant element Check the element's name spelling or use $force to suppress the error.
QUICKFORM_INVALID_RULE Rule '$type' is not registered in HTML_QuickForm::addRule() Rule is not known to QuickForm Check rule type spelling or use HTML_QuickForm::registerRule().

Note

since 1.0

This function can not be called statically.

How to process submitted data (Previous) Adds a validation rule for the given group (Next)
Last updated: Sat, 16 Feb 2019 — Download Documentation
Do you think that something on this page is wrong? Please file a bug report.
View this page in:
  • English

User Notes:

There are no user contributed notes for this page.