HTML_QuickForm::addRule()

HTML_QuickForm::addRule() – 指定したフィールドに検証規則を追加する

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

もし要素がグループであった場合は、それ全体が要素として扱われ、 個々の要素の値の配列が検証関数に渡されます。 グループ化された要素を個々の要素単位で検証するには、 addGroupRule() を使用します。

Parameter

mixed $element

フォームの要素名。組み込まれている規則のうち、 このパラメータに配列を渡してもきちんと処理してくれるのは、現在は compare だけです。

<?php
$form
->addElement('password''cmpPasswd''パスワード:');
$form->addElement('password''cmpRepeat''パスワード(もう一度):');
$form->addRule(array('cmpPasswd''cmpRepeat'), 'パスワードが一致しません''compare'null'client');
?>

その他の組み込み規則は、単一の要素名しかサポートしません。 callback 規則もここで配列を扱うことができます。 しかし、当然その場合はコールバック関数側できちんと配列を処理できるようにしておく必要があります。

string $message

データが無効な場合に表示されるメッセージ。

string $type

規則の型。 getRegisteredRules() を使用して取得します。HTML_QuickForm_Rule の派生クラスの名前や、そのクラスのインスタンスを渡すことも可能です。

string $format

(オプション) 追加の検証データのために必要。

string $validation

(オプション) 検証を行う位置。 "server" あるいは "client"。

boolean $reset

クライアント側: エラーがあった場合に、 要素の内容をリセットして元の状態に戻すかどうか。

boolean $force

対象となるフォーム要素が存在しない場合にも強制的に規則を適用します。

Throws

Possible PEAR_Error values
エラーコード エラーメッセージ 原因 対応
QUICKFORM_NONEXIST_ELEMENT Element '$element' does not exist in HTML_QuickForm::addRule() 存在しない要素に規則を追加しようとしました。 要素名の綴りを調べるか、$force を使用してエラーを抑制します。
QUICKFORM_INVALID_RULE Rule '$type' is not registered in HTML_QuickForm::addRule() QuickForm が知らない規則を指定しています。 規則の型の綴りを調べるか、 HTML_QuickForm::registerRule() を使用します。

Note

since 1.0

This function can not be called statically.