HTML_QuickForm::addFormRule()

HTML_QuickForm::addFormRule() – 全体的な検証規則を追加する

Synopsis

require_once 'HTML/QuickForm.php';

void HTML_QuickForm::addFormRule ( mixed $rule )

Description

複数のフィールドにまたがる規則を追加したい場合、 あるいはフォームにまったく独自の検証を適用したい場合に これを使用します。検証に成功した場合は、 関数/メソッドは TRUE を返します。また、エラーが発生した場合は 配列 array('要素名' => 'エラー') が返されます。

Parameter

mixed $rule

有効なコールバックです。

Throws

Possible PEAR_Error values
エラーコード エラーメッセージ 意味 解決
QUICKFORM_INVALID_RULE Callback function does not exist in HTML_QuickForm::addFormRule() callback として存在しない関数の名前を使用しようとします。 スペルチェックをしてください。

Note

since 3.1

This function can not be called statically.

Example

addFormRule() の使用法

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

$form = new HTML_QuickForm();

// この関数は、パスワードが同じかどうかを調べます
function cmpPass($fields)
{
    if (
strlen($fields['passwd1']) && strlen($fields['passwd2']) &&
        
$fields['passwd1'] != $fields['passwd2']) {
        return array(
'passwd1' => 'パスワードが違います');
    }
    return 
true;
}

$form->addElement('password''passwd1''パスワードを入力してください');
$form->addElement('password''passwd2''もう一度パスワードを入力してください');

$form->addFormRule('cmpPass');
?>