🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

解決済

2回答

2094閲覧

reportValidityについて

kinisinai

総合スコア28

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2019/09/26 02:52

編集2019/09/26 02:55

現在こちらのようなコードでinputに入力された文字が5文字かどうかのバリデーションを作成しているのですが5文字じゃなかったときにreportValidity()でエラーの文章が出るようにしているのですが判定したいinputからフォーカスが外れた時にクロームのコンソールに下記のようなエラーが出て正常に機能しなくて困っています。5文字だった場合は何もエラーはなく正常に処理されます。

An invalid form control with name='wareki' is not focusable.

HTML5

1<label>生年月日</label> 2 <div class="col-sm-3"> 3 <input class="form-control datetimepicker birthday" id="birthday"name="birthday" placeholder="生年月日" readonly> 4 </div> 5 <label class="col-sm-2 col-form-label">和暦</label> 6 <div class="col-sm-3"> 7 <input type="text" class="form-control wareki " id="wareki"name="wareki" placeholder="和暦" > 8 </div>

jQuery

1function erro_check(check_text, classname) { 2 // 3 var count = check_text.length; 4 var erro_place = $('.' + classname).get(0); 5 erro_place.setCustomValidity('エラーテスト'); 6 7 8 if (count != 5 ) { 9 $('.wareki').on('blur', 10 function() { 11 erro_place.reportValidity(); 12 }); 13 return true; 14 } else { 15 erro_place.setCustomValidity(''); 16 17 } 18} 19 20$('.wareki').change(function() { 21 22 erro_check($(this).val(), 'wareki'); 23 24});

Form属性にnovalidateなどは試しましたが変わりませんでした。

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

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

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

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

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

guest

回答2

0

自己解決

すみません。よく調べると非表示になっている部分がありそれをなくすと問題なく通りました。

投稿2019/09/30 05:15

kinisinai

総合スコア28

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

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

0

CSS

1display: none;

などで非表示になっているときに出たと思います。
非表示になるパターンがないか調べてみてください。

投稿2019/09/26 05:22

x_x

総合スコア13749

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

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

kinisinai

2019/09/26 06:45

現在使用している場面では非表示にしているところは存在しないです。すみません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問