kotaoueはそんなかんじ

kotaoueの最新情報。

[PHP] HTML_QuickFormで複数グループのエラーチェック

HTML_QuickFormを使ったんだけども、エラーチェックのメソッドが用意されてて便利!!

でも、下のようなフォームを作った時のエラーチェックでちょっと詰まった。

あなたがエンディングを見たのは?
※回答は必須です。
帝国 さくら すみれ マリア アイリス 紅蘭 カンナ 織姫 レニ
巴里 エリカ グリシーヌ コクリコ ロベリア 北大路花火
紐育 ジェミニ サジータ リカリッタ ダイアナ

みたいな、わかりやすくするために、同じ質問なんだけども小見出しをつけたいってフォームの場合、もともとあるエラーチェックの必須チェックとかが使えない。
マニュアル読まずに、なんとなく山勘でフォーム要素を配列にするとかやってみたけど上手く動かなかったので・・・

function validate() {
    if (parent::validate()) {
        return true;
    } else {
        return $this->commonValidationAreaRule();
    }
}

みたいな感じで、継承元のエラーチェックに追加するってので実装した。

一応ソース

function commonValidationAreaRule() {
    $validate_flg = true;
    if ( $this->_errors['member_teigeki'] && $this->_errors['member_paris'] && $this->_errors['member_newyork']) {
        $this->_errors['member_teigeki'] = 'セガサターンしろ';
        $validate_flg = false;
    } else {
        $this->_errors['member_teigeki'] = '';
    }
    $this->_errors['area_asia'] = '';
    $this->_errors['member_newyork'] = '';
    
    if ($validate_flg) {
        foreach ($this->_errors as $key => $value) {
            if (strlen($value)) {
                $validate_flg = false;
            }
        }
    }
  
    if ($validate_flg) {
        return 1;
    } else {
        return 0;
    }
}

     ____   _____   ____     _
.    ,r'"  _____|r'"   _____|r'"  ________|   ,r" ,..`ヽ
    i  .r'" ____||  r'" ____||  i'" ________|   / / 'i, i,
   !  ゝ.___ ̄`ヽ,|  |_____| . |  |  |_____  |. / /   i, i,
    ゝ..___ ゙ヽ  i|  |  ____|__.|  |  |_  |  |. / / ∧ i, i,
    | ̄ ̄ ̄_.ノ  l|  ゝ.._______||  ゝ.______|  |./ / / ̄ _i, i,
    | ̄ ̄ ̄  _.ノ ゝ._       .|ゝ._      !' / /| ̄ ̄   i,

コメントはまだありません

コメントを残す

メールアドレスが公開されることはありません。

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>