HTML_QuickForm::addGroupRule()

■code
 
void  &HTML_QuickForm_element::addGroupRule( string $group, mixed $arg1
                      [, string $type = '' [, string $format = '' [, int $howmany = 0 [, string $validation = 'server'
                      [, boolean $reset = FALSE ] ] ] ] ])
 
■説明 指定されたグループに妥当性チェックルールを追加する。

名前が付けられているグループにのみ妥当性チェックルールが割り当てられる。
グループ内の要素の妥当性チェックを行う必要がある時、addGroupRule()を使用します。
グループ全体の妥当性チェックを行う必要がある場合は、addRule()を使用します。
 
■パラメータ説明
string  $group フォームのグループ名
mixed  $arg1 複合要素の配列、または、1要素に対するエラーメッセージを指定。
配列の場合、次のような構成にする。
array (
    'element name or index' => array(
        array(rule data),
        ...
        array(rule data)
    ),
    ...
    'element name or index' => array(
        array(rule data),
        ...
        array(rule data)
    )
)
ここでのルール・データは、addRule()メソッドのパラメータの順序、意味と同じです。
string  $type (オプション)ルールの種類。種類を取得するにはgetRegisteredRules()を使用します。 HTML_QuickForm_Ruleを継承したクラス名またはそのようなクラスのインスタンスを通すことも可能です。
string  $format (オプション)例外データの場合に必要とされます。
integer  $howmany (オプション)グループ内に妥当な要素が何個あればよいかを指定。
string  $validation (オプション)妥当性チェックを行うところ。  "server"、"client"
boolean  $reset クライアント側で:妥当性チェックがうまく処理されない場合、
要素の値をもとの状態に戻すかどうか。
■example
<?php
    // a group of 4 checkboxes
    $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('&nbsp;', '<br />'));

    // Simple rule: at least 2 checkboxes should be checked
    $form->addGroupRule('ichkABCD', 'Please check at least one box',
                        '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:', ',&nbsp');

    // Complex rule for group's elements
    $form->addGroupRule('id', array(
        'lastname' => array(
            array('Name is letters only', 'lettersonly'),
            array('Name is required', 'required')
        ),
        'code' => array(
            array('Code must be numeric', 'numeric')
        )
    ));
?>



インフォメーションへ戻る 第1回 PHPのコードとHTMLタグ コラム
  第2回 HTML_QuickFormを使ってみよう
  第3回 HTML_QuickFormを使ってみよう(パート2) HTML_QuickForm Memo
  第4回 Smartyを使ってみよう HTML_QuickForm Menu
  第5回 HTML_QuickFormとSmartyを使ってみよう HTML_QuickForm Smarty Tips
  第6回 HTML_QuickFormとSmartyを使ってみよう(パート2) Mojavi Memo
  第7回 実践編 HTML_QuickFormとSmartyを使ってみてどうよ? Ajax Memo
  第8回 HTML_QuickForm_Controller大好き!
  第9回 Mojaviのまとめ
  第10回 Ajax使ってみました
  第11回 PHPEclipse開発環境設定
  第12回 Eclipse+PHPIDEインストール記
  第13回目 PHPIDEによるデバック
  第14回目 Selenium IDEを使ってみました
  第15回目 PDT(旧 PHPIDE)のインストール、デバック