HTML_QuickForm::addFormRule()

HTML_QuickForm::addFormRule() – Adds a global validation rule

Synopsis

require_once 'HTML/QuickForm.php';

void HTML_QuickForm::addFormRule ( mixed $rule )

Description

This should be used when you want to add a rule involving several fields or if you want to use some completely custom validation for your form. The rule function/method should return TRUE in case of successful validation and array('element name' => 'error') when there were errors.

Parameter

mixed $rule

A valid callback

Throws

Possible PEAR_Error values
Error code Error message Reason Solution
QUICKFORM_INVALID_RULE Callback function does not exist in HTML_QuickForm::addFormRule() Tried to pass a name of a non-existant function as a callback Check spelling

Note

since 3.1

This function can not be called statically.

Example

Using addFormRule()

<?php
require_once ('HTML/QuickForm.php');

$form = new HTML_QuickForm();

// the function checks whether the passwords are the same
function cmpPass($fields)
{
    if (
strlen($fields['passwd1']) && strlen($fields['passwd2']) &&
        
$fields['passwd1'] != $fields['passwd2']) {
        return array(
'passwd1' => 'Passwords are not the same');
    }
    return 
true;
}

$form->addElement('password''passwd1''Enter password');
$form->addElement('password''passwd2''Confirm password');

$form->addFormRule('cmpPass');
?>
Adds a validation rule for the given group (Previous) Returns whether the form element is required (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:

Note by: strata_ranger@hotmail.com
If your validation callback returns an empty Array(), this will cause your form validation to fail without setting element errors in the process.

This is not necessarily useless behavior, but be aware.
Note by: giuliano@seznam.cz
How do I get the error to show in the javascript?