1 つのリモート ルールと、その他のいくつかの基本的な必須ルールがあります。奇妙なことに、私のリモート ルールはパスしたが、他のルールの一部が失敗した場合、先に進んでフォームを送信します。リモート ルールをリストの後ろまたは前に移動して違いが生じるかどうかを確認してみましたが、違いはありませんでした。誰かがこれに遭遇しましたか?
http://jsfiddle.net/LU5sU/7/ (検証に合格するには、プロモーション コード ボックスに test と入力します。)
$('#ticket-form').validate({
onfocusout: false,
onkeyup: false,
onclick: false,
rules: {
code: {
required: true,
remote: {
url: "http://www.bobmurdoch.com/ajax.php",
type: "post",
async: false,
data: {
action: "check_code",
code: function () {
return $("#code").val();
}
}
}
},
first_name: {
required: true
},
last_name: {
required: true
},
company: {
required: true
},
address: {
required: true
},
city: {
required: true
},
state: {
required: true
},
zip: {
required: true
},
phone: {
required: true
},
email: {
required: true,
email: true
},
survey_question_1: {
required: false
}
},
messages: {
code: {
required: "Please enter a valid promo code",
remote: "Please enter a valid promo code"
},
first_name: "Please enter a value for First Name",
last_name: "Please enter a value for Last Name",
company: "Please enter a value for Company",
address: "Please enter a value for Address",
city: "Please enter a value for City",
state: "Please enter a value for State",
zip: "Please enter a value for Zip/Postal Code",
phone: "Please enter a value for Phone",
email: {
required: "Please enter a valid e-mail address",
email: "Please enter a valid e-mail address"
}
},
showErrors: function (errorMap, errorList) {
var errors = '';
for (var i in errorList) {
errors = errors + errorList[i].message + "\n"
}
if (errors != '') {
alert(errors);
}
}
});