HTML_QuickForm::addRule()
Вернуться к: Validation and filters
HTML_QuickForm::addRule()
Synopsis
void HTML_QuickForm::addRule ( mixed $element , string $message , string $type , string $format = '' , string $validation = 'server' , boolean $reset = false , boolean $force = false )
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
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.
Вернуться к: Validation and filters