組み込みの HTML5 検証メソッドを使用して、フォームの生年月日を検証しています。
フォームには、次の 3 つの選択リスト要素があります。 user_dob_date user_dob_month user_dob_year
これら 3 つの要素はすべて、ユーザーが有効なオプションを選択する必要があるため、検証のために「必須」として配置されています。
ここで、ユーザーが 3 つのオプションすべてを選択し、少なくともオプションを選択するための HTML5 検証がうまくいった後、うるう年の日付をチェックし、ユーザーが 1998 年 2 月 31 日のようなものを選択していないことを確認したいと思います!!!
$('#form-signup-next').submit(function(){
if($('#user_dob_month').val()=='2' && $('#user_dob_date').val()>29 ){
var obj=$('#user_dob_date')[0];
alert($('#user_dob_month').val());
obj.setCustomValidity('Invalid Date!');
}else{
var obj=$('#user_dob_date')[0];
obj.setCustomValidity('');
}
return false;
});
-> 送信をクリックしたときにカスタム メッセージが表示されません。ボタンを 2 回クリックすると実行されます。最初にクリックするとメッセージが設定されますが、表示されず、2回目にクリックするとエラーが表示されます
-> カスタムメッセージの間違った選択と表示の後、日付が修正され、フォームを送信しようとすると、それでもエラーがスローされます:(
これで私を助けてください。前もって感謝します :)