void HTML_QuickForm::addFormRule (
mixed $rule
)
複数のフィールドにまたがる規則を追加したい場合、 あるいはフォームにまったく独自の検証を適用したい場合に これを使用します。検証に成功した場合は、 関数/メソッドは TRUE を返します。また、エラーが発生した場合は 配列 array('要素名' => 'エラー') が返されます。
$rule
有効なコールバックです。
エラーコード | エラーメッセージ | 意味 | 解決 |
---|---|---|---|
QUICKFORM_INVALID_RULE | Callback function does not exist in HTML_QuickForm::addFormRule() | callback として存在しない関数の名前を使用しようとします。 | スペルチェックをしてください。 |
since 3.1
This function can not be called statically.
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');
?>