次の JavaScript 関数があります。
$('div.nextStepBilling').click(function (e) {
if ($(this).parent().parent().attr("id") == "newCardDiv") {
$('form#myForm').validate({
rules: {
cardHolder: "required",
cardNumber: {
required: true,
minlength: 15,
maxlength: 16
},
CVV: {
required: true,
minlength: 3,
maxlength: 4
}
},
messages: {
cardHolder: "Card holder name is required",
cardNumber: {
required: "Credit card number is required",
minlength: "Credit card must be at least 15 digits long",
maxlength: "Credit card must be at most 16 digits long"
},
CVV: {
required: "CVV (security code) is required",
minlength: "CVV must be at least 3 digits long",
maxlength: "CVV must be at most 4 digits long"
}
}
});
if ($('form#myForm').valid()) {
alert("valid");
} else {
alert("invalid");
}
}
});
適切なものをクリックするとdiv.nextStepBilling
、それらの入力に何もない場合でも、常に有効なアラートが表示されます。
コンソールにエラーは表示されず$('form#myForm').validate().element("#cardHolder");
、ページに最新のjqueryおよびjquery validateパッケージが(適切な順序で)含まれていることを使用して、jquery validateを機能させることができます。上記のコードに何か問題があると思いますか?