現在こちらのようなコードで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などは試しましたが変わりませんでした。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。