フォームの検証には苦労しますが、電子メールアドレスのみが検証されています。ここに私の抜粋です:jQueryValidate:フィールドの検証ができません
$('#toggle-delivery').click(function() {
$("#validate-info").validate({
rules: {
email_address: {
required: true,
email: true
}
phone_number: {
required: true,
digits: true,
minlength: 9
}
shipping_first_name: {
required: true,
minlength: 2
}
shipping_last_name: {
required: true,
minlength: 2
}
shipping_address_1: {
required: true,
minlength: 10
}
}
}).form();
});
これは、フォームは、ボタン#toggle-delivery
がクリックされたときにのみ有効とされる保証します。これまでのところうまくいきましたが、電話番号、出荷名、配送先住所、配送先の姓は検証されません。たとえば、電話番号の場合、数字は9文字以上で入力しなければならないと指定しましたが、何か入力すると自動的にvalid
クラスが入力要素に追加されます。バリデーションされていない他の3つのフィールドについては、ルールが最低10でなければならないとしても、1文字を挿入できます。ルールが無視されるようです。
私はまた、各フィールドにカスタムエラーメッセージを追加してみました:
jQuery(document).ready(function() {
jQuery('#validate-info').validate({
onfocusout: function(e) {
this.element(e);
},
messages: {
email_address: {
required: "We need your email address to contact you.",
email: "Oops! This isn't a correct email format. Please check and try again."
}
}
});
});
これはうまく動作しますが、私は電話番号のカスタムメッセージを追加する場合、それは動作を停止します。フィールドが検証されないのはなぜですか?
私は間違っているかもしれませんが、各ルールの間にカンマがあなたの最初のスニペット – JavaEvgen