|
HTML_QuickForm::addGroupRule()
HTML_QuickForm::addGroupRule() – 指定したグループの検証規則を追加する
Synopsis
require_once 'HTML/QuickForm.php';
void HTML_QuickForm::addGroupRule (
string $group
, mixed $arg1
, string $type = ''
, string $format = ''
, int $howmany = 0
, string $validation = 'server'
, bool $reset
= = false
)
Description
指定した要素グループに検証規則を追加します。
検証規則は、名前がつけられているグループにのみ追加できます。
グループ内の要素に対する検証を行う必要がある場合に
addGroupRule() を使用してください。
グループ全体に対する検証を行う必要がある場合には
addRule()
を使用することもできます。
Parameter
-
string
$group
-
フォームのグループ名。
-
mixed
$arg1
-
複数要素の配列、あるいはひとつの要素のエラーメッセージ文字列。
配列の場合は、以下のような構造となります。
array ( '要素の名称あるいはインデックス' => array( array(規則のデータ), ... array(規則のデータ) ), ... '要素の名称あるいはインデックス' => array( array(規則のデータ), ... array(規則のデータ) ) )
ここで、規則のデータの内容は
addRule()
メソッドのパラメータと同じ並び順・同じ意味となります。
このパラメータが配列の場合、それ以降のパラメータの内容は無視されます。
検証規則に追加したい内容は、すべてこの配列で渡す必要があります
(以下の例を参照ください)。
-
string
$type
-
(オプション) 規則の型。
getRegisteredRules()
を使用して取得します。HTML_QuickForm_Rule
の派生クラスの名前や、そのクラスのインスタンスを渡すことも可能です。
-
string
$format
-
(オプション) 追加の検証データのために必要。
-
integer
$howmany
-
(オプション) グループ内のいくつの要素が規則を満たすべきか。
-
string
$validation
-
(オプション) 検証を行う位置。
"server" あるいは "client"。
-
boolean
$reset
-
クライアント側: 検証に失敗した場合に、
要素の内容をリセットして元の状態に戻すかどうか。
Throws
Possible PEAR_Error values
エラーコード |
エラーメッセージ |
原因 |
対応 |
QUICKFORM_NONEXIST_ELEMENT |
Group '$group
' does not exist in HTML_QuickForm::addGroupRule() |
存在しないグループに規則を追加しようとしました。 |
グループ名の綴りを調べます。 |
QUICKFORM_NONEXIST_ELEMENT |
Element '$elementIndex
' not found in group '$group
' in HTML_QuickForm::addGroupRule() |
$arg1
が配列で、
グループ内に存在しない要素のインデックスを含んでいます。
|
要素インデックスの綴りを調べます。 |
QUICKFORM_INVALID_RULE |
Rule '$type
' is not registered in HTML_QuickForm::addGroupRule() |
QuickForm が知らない規則を指定しています。 |
規則の型の綴りを調べるか、
HTML_QuickForm::registerRule()
を使用します。
|
Note
since 2.5
This function can not be called
statically.
Example
<?php // 4 つのチェックボックスからなるグループ $checkbox[] = &HTML_QuickForm::createElement('checkbox', 'A', null, 'A'); $checkbox[] = &HTML_QuickForm::createElement('checkbox', 'B', null, 'B'); $checkbox[] = &HTML_QuickForm::createElement('checkbox', 'C', null, 'C'); $checkbox[] = &HTML_QuickForm::createElement('checkbox', 'D', null, 'D'); $form->addGroup($checkbox, 'ichkABCD', 'ABCD:', array(' ', '<br />')); // 単純な規則の例: 少なくとも 2 つのチェックボックスがチェックされていなければなりません $form->addGroupRule('ichkABCD', '少なくとも 2 つはチェックしてください', 'required', null, 2);
$idGrp[] = &HTML_QuickForm::createElement('text', 'lastname', 'Name', array('size' => 30)); $idGrp[] = &HTML_QuickForm::createElement('text', 'code', 'Code', array('size' => 5, 'maxlength' => 4)); $form->addGroup($idGrp, 'id', 'ID:', ', '); // グループの要素についての複雑な規則の例 $form->addGroupRule('id', array( 'lastname' => array( array('名前は文字のみで指定します', 'lettersonly'), array('名前は必須です', 'required', null, 'client') ), 'code' => array( array('コードは数値でなければなりません', 'numeric') ) )); ?>
|
|
|