PEAR Manual
Prev |  | Next

# 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

Table 41-1. 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

Example 41-1. 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');
    ?>

Prev | Home | Next
HTML_QuickForm::addGroupRule() | Up | HTML_QuickForm::isElementRequired()