- 2009-11-11 (水) 18:56
- JQuery
JQueryのバリデーション処理(というか優しさ処理?w)を入れる際に、ハマったのでメモ。
探し方が悪かったのか、情報も少なかった。。
複数のフォームが並んでいるような状態でエラーが出るとものすごい感じになる。
例えば電話番号の入力フォームとかがそんな感じ。
| | – | | – | |
こんな感じ?分かる??w
この3つのフォームに対するエラーをまとめるにはグループ化を使う。
$(“#form1″).validate({
// グループ化する
groups : {
phone : “phone1 phone2 phone3″ // name属性で大丈夫っぽい。
},
errorPlacement: function(error, element) {
// エラーを出す場所を決める
if (element.attr(“name”) == “phone1″
|| element.attr(“name”) == “phone2″ || element.attr(“name”) == “phone3″ )
error.insertAfter(“#phone3″); // IDがphone3のフォームの後ろにエラーを吐き出す
},
rules : { ・・・・・
こんな感じでいける。
ちなみにエラーの場所を決めるにはもう一つ手がある。
エラー出力時に生成されるlabelを先に書いておくという荒技。
rules {
・・・・・
},
errorClass: “inputError”
上記のようにJSファイルにエラークラスを設定しておいて、View(HTML)にlabelタグをぶっ込む。
<input type=”text” name=”hoge” value=”" class=”hoge” />様
<label for=”hoge” class=”inputError” generated=”true” />
こうするとlabelの部分に対象のエラーメッセージが出る。
お試しあれ。
おしまい。
- Newer: iPhoneアプリ。
- Older: Google Waveのアカウントがあったw
Comments:0
Trackbacks:0
- Trackback URL for this entry
- http://www.terut.net/wp-trackback.php?p=169
- Listed below are links to weblogs that reference
- JQuery.validate.jsで複数のフォームのエラーを一つに。 from Action*3