Kenji Suzuki
kenji****@gmail*****
2011年 10月 7日 (金) 19:57:42 JST
Kenji です。 On Thu, 06 Oct 2011 22:25:21 -0700 "Takeshi.mms" <three****@gmail*****> wrote: > Kenjiさま > > 早速のご返信ありがとうございます。 > ちょっと言葉足らずでしたね。 > > > 現状といたしましては、 > > 拡張を試みたのですが、どうやってパラメータ値(配列)の検証対象の > データと同じindexの値を取ればよいかがわからず、頓挫している状態です。 > > 具体的には、自作matchesに配列要素をパラメータとして渡してみた > のですが、関数では単純に配列のまま取得し、現在のindexが分からず、 > どの値と検証してよいやら。。。といった状態でした。 確かに、現状の Form validation の枠組みでは簡単にはうまくいかないようですね。 ちょっとキレイではないですが、以下で検証は通るのではないでしょうか。 $this->form_validation->set_rules('password', 'Password', 'required'); $this->form_validation->set_rules('password_c', 'Password Confirm', 'matches[password]'); 個別にどのパスワードがエラーかがわかりませんが。 個別に知るには、$this->_field_data の postdata の値を取得して比較する メソッドを作ればいけると思います。 配列の数だけ検証ルールが実行されてしまうのがキレイではないですが。 // Kenji > 何かヒントだけでも頂ければ幸いです。 > > 以上、宜しくお願いいたします。 > -- > Takeshi.mms > > > Kenji Suzuki wrote (2011/10/06 21:46): > > Kenji です。 > > > > > > On Thu, 06 Oct 2011 21:19:12 -0700 > > "Takeshi.mms"<three****@gmail*****> wrote: > > > >> お世話になります。 > >> > >> Takeshiと申します。 > >> > >> Form_Validationの利用についての質問です。私なりに調べたのですが、 > >> 解決に至らず、ここで皆様のお知恵を拝借いたしたく、宜しくお願い > >> いたします。 > >> > >> 目的: > >> Form_Validationを用いた配列要素へのパラメータ付きの検証 > >> (matchesのような検証です: matches[form_item]) > >> > >> 例: > >> 複数人の登録が同時に出来るフォームがあるとします。 > >> また、要素は user_id[], age[], password[], password_c[] とします。 > >> > >> 上記のように全ての要素は配列になっており、それぞれのpasswordと > >> password_cの一致を検査。といった感じです。 > >> > >> また、age, password にはuser_idが入っていないときにエラーとする > >> 処理も考えていますが、まずは matches が出来ないことには。 > >> といった具合です。 > >> > >> system/Form_validation の処理も見ましたが、現状のmatches関数では > >> 無理かと思いMY_Form_validationに作成しようと思ったのですが、 > >> ひょっとして、Form_validationでは実現は難しいでしょうか? > > > > matches を拡張する、あるいはそのようなメソッドを追加することでできる > > と思いますよ。 > > > > > > // Kenji > > > > > >> なお、配列をやめるというのは、今回のシステムの制約上できません。 > >> > >> 説明が分かりづらい点がありましたらご指摘下さい。 > >> 以上、宜しくお願いいたします。 > >> > >> -- > >> Takeshi.mms > >> > >> _______________________________________________ > >> Codeigniter-users mailing list > >> Codei****@lists***** > >> http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users > > > > _______________________________________________ > > Codeigniter-users mailing list > > Codei****@lists***** > > http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users > > _______________________________________________ > Codeigniter-users mailing list > Codei****@lists***** > http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users