質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
jQuery Validation Plugin

jQuery Validation PluginはjQueryのプラグインであり、クライアント側のデータ検証を行う役割があります。

Q&A

1回答

1395閲覧

jquery validate chackboxがエラー表示がおかしい

退会済みユーザー

退会済みユーザー

総合スコア0

jQuery Validation Plugin

jQuery Validation PluginはjQueryのプラグインであり、クライアント側のデータ検証を行う役割があります。

0グッド

1クリップ

投稿2019/05/08 06:51

編集2019/05/10 02:42

checkboxのバリデーションでcheckboxがチェックされてない時に全checkboxが赤でバリデーションされた表示されるようにしたいのですが現状最初のcheckboxだけが赤でバリデーションされた表示になっています。どこで間違えていますか?
誰か教えてくださいませ!!
現状は下記のようの最初のcheckboxだけが赤くなっていますが、全部のcheckboxを赤くなるようにしたいです。
イメージ説明

下記はjqueryのソースコードです.補足:00xxxxxhhhhは他のシステムと連携するための使用しています。

<form action="" method="POST" id="contact_form" data-validate > <div> <table > <tbody> <tr class="radio"> <th><i>必須</i>radioチェック</th> <td> <span><label><input type="radio" id="00N0K00000xxxx" name="00N0K00000xxxx" class="inquiry"> <span>radio-1</span></label></span> <span><label><input type="radio" id="00N0K00000xxxx" name="00N0K00000xxxx" class="inquiry"> <span>radio-2</span></label></span> <span><label><input type="radio" id="00N0K00000xxxx" name="00N0K00000xxxx" class="inquiry"> <span>radio-3</span></label></span> <div id="radioinfo_error"></div> </td> </tr> <tr class="checkbox"> <th><i>必須</i><span>てすとチェック欄</span></th> <td > <span><label> <input type="checkbox" name="00xxxxxhhhh" id="00xxxxxhhhh" class="interesting"><span>test_1</span></label></span> <span><label> <input type="checkbox" name="00xxxxxhhhh" id="00xxxxxhhhh" class="interesting"><span>test_2</span></label></span> <span><label> <input type="checkbox" name="00xxxxxhhhh" id="00xxxxxhhhh" class="interesting"><span>test_3</span></label></span> <span><label> <input type="checkbox" name="00xxxxxhhhh" id="00xxxxxhhhh" class="interesting"><span>test_4</span></label></span> <span><label> <input type="checkbox" name="00xxxxxhhhh" id="00xxxxxhhhh" class="interesting"><span>test_5</span></label></span> <span><label> <input type="checkbox" name="00xxxxxhhhh" id="00xxxxxhhhh" class="interesting"><span>test_6</span></label></span> <div id="checkboxservice_error"></div> </td> </tr> </tbody> </table > </div> </form> <script> jQuery(function($){ $("#contact_form").validate({ rules : { "00xxxxxhhhh": { required: true }, "00N0K00000xxxx": { required: true }, }, messages: { "00N0K00000xxxx" :{ required: "必須項目です。" }, "00xxxxxhhhh" :{ required: "必須項目です。" }, }, errorPlacement: function(error, element) { if(element.attr("name")=="00N0K00000xxxx") { error.insertAfter("#radioinfo_error"); } else if(element.attr("name")=="00xxxxxhhhh") { error.insertAfter("#checkboxservice_error"); } else{ error.insertAfter(element); } } }); }); </script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.16.0/jquery.validate.js "></script>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yasutomi

2019/05/08 07:53

エラー表示以前にid="contact_form"やjQueryの読み込みなどが 記述されていないコード自体がおかしいので修正が必要です。
yasutomi

2019/05/08 07:55

idやname属性がすべて00xxxxxhhhhになっているのも おかしいので修正が必要です。
退会済みユーザー

退会済みユーザー

2019/05/09 02:08 編集

@yasutomi 指摘ありがとうございます。 id="contact_form"は追加しました。 dやname属性がすべて00xxxxxhhhhになっているのは他のシステムと連携するために使っていますので属性は正しいです。
x_x

2019/05/09 05:32

同じidの値が何度も出現しているということでしょうか?
yasutomi

2019/05/09 09:38

idは同じ文書内で1ヵ所にだけ使用できて重複させてはならないので 属性の使い方は間違っています。
退会済みユーザー

退会済みユーザー

2019/05/10 01:35

それぞれのidの値を違う値にしても同じエラーが出ます。
yasutomi

2019/05/10 01:57

#contact_formなのにid="contact-form"になっていたり jQueryがコード上で読み込まれていなかったり 不備が多いので全体をよく確認してからコードの投稿をお願いします。
退会済みユーザー

退会済みユーザー

2019/05/10 02:21

#contact_formは書き込みのミスでした。
退会済みユーザー

退会済みユーザー

2019/05/10 02:28

checkboxの前にradioチェックありますがradioの方が全部正しくエラー表示されています。
guest

回答1

0

addMethod()で好きな検証メソッドを追加できるので試してみては?

jQuery

1 jQuery.validator.addMethod('allrequired', function(value, element) { 2 var nocheck = $(element.form.elements[element.name]).each(function(index, element) { 3 $(element).toggleClass('error', !element.checked); 4 }).filter(':not(:checked)'); 5 if (nocheck.length) { 6 return false; 7 } 8 9 return true; 10 }, 'すべて必須です');

https://jqueryvalidation.org/jQuery.validator.addMethod/

投稿2019/05/13 09:32

編集2019/05/14 09:18
x_x

総合スコア13749

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/05/16 04:16

ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問