HTML_QuickForm::addRule()

■code
 
void  &HTML_QuickForm_element::addRule( mixed $element, string $message, string $type
                      [, string $format = '' [, string $validation = 'server'
                      [, boolean $reset = FALSE [, boolean $force = FALSE ] ] ] ])
 
■説明 実際に要素がグループの場合、グループ全体で1つと見なされます。
グループ要素の値の配列形式で妥当性チェック処理に通されるでしょう。
グループの要素を個々に妥当性チェックするためには、addGroupRule()を使用します。
 
■パラメータ説明
mixed  $element フォームの要素名。
現在のところ、配列を扱うルールはcompareのみ。
その他の組み込み済みルールは個別の要素名で扱います。
string  $message 妥当でないデータの場合に表示するメッセージ
string  $type ルールの種類。種類を取得するにはgetRegisteredRules()を使用します。 HTML_QuickForm_Ruleを継承したクラス名またはそのようなクラスのインスタンスを通すことも可能です。
string  $format (オプション)例外データの場合に必要とされます。
string  $validation (オプション)妥当性チェックを行うところ。  "server"、"client"
boolean  $reset クライアント側での妥当性チェックのためのパラメータ。
エラーの場合に要素をもとの値に戻す。
boolean  $force 対象とするフォーム要素が存在しなくても必ずルールを適用させるかの指定。
 
■example
<?php
    // サーバ側でチェックするルール
    function setServerRule() {
        $this->_form->addRule('name', '入力してください', 'required');
        $this->_form->addRule('mail', '入力してください', 'required');
        $this->_form->addRule('mail', '入力内容が不正です', 'email');
        $this->_form->addRule(array('passwd', 'pass2'),
                      'パスワードが一致していません',  'compare');
        $this->_form->addRule(array('b_year', 'b_month', 'b_day'),
                      '日付エラー',  'date_check');
        $this->_form->addRule(array('b_hour', 'b_minute'),
                      '時間エラー',  'time_check');
        $this->_form->addRule('zip',
                      '7桁で入力してください', 'maxlength', 7);
        $this->_form->addRule('point',
                      '半角数字で入力してください', 'numeric');
    }

    // クライアント側でチェックするルール
    function setClientRule() {
        // 必須入力項目が入力されていない時のエラーメッセージ表示
        $this->_form->setJsWarnings('下記の項目が不正です。','');
        $this->_form->addRule('name', 
                    '名前を入力して下さい。', 'required', '', 'client');
        $this->_form->addRule(array('passwd', 'pass2'),
                    'パスワードが一致していません', 'compare', '', 'client');
        $this->_form->addRule('point', 
                    '半角数字で入力して下さい。', 'numeric', '', 'client');
        $this->_form->addRule('zip', 
                    '7桁で入力して下さい。', 'maxlength', 7, 'client');
    }

?>



インフォメーションへ戻る 第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)のインストール、デバック