[Codeigniter-users] 配列要素へのForm_Validationについて

Back to archive index

Takeshi.mms three****@gmail*****
2011年 10月 8日 (土) 14:21:05 JST


Kenjiさま

お世話になります。

なるほど。配列ごと渡してしまうわけですね。
コロンブスの卵でした。確かに実現できそうですね。

要素毎については、もうちょっと試行錯誤してみようと思います。
まー、無理にCIに詰め込むことも無いんですが、jqueryでも代用できますし。
ただ、出来れば統一できればと思ったので。。。

以上、お知恵ありがとうございました。
これからも宜しくお願いします。

-- 
Takeshi.mms


Kenji Suzuki wrote (2011/10/07 3:57):
> 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
> 
> _______________________________________________
> Codeigniter-users mailing list
> Codei****@lists*****
> http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users




Codeigniter-users メーリングリストの案内
Back to archive index