我有一個遠程規則和一些其他基本所需的規則。奇怪的是,如果我的遠程規則通過了,但其他一些規則失敗了,它會繼續並提交表單。我試着將遠程規則移動到列表的後面或前面,以查看它是否有所作爲,但事實並非如此。有沒有人遇到過這個?jQuery驗證插件:有效的遠程調用bypassess其他無效檢查
http://jsfiddle.net/LU5sU/7/(通過驗證,在促銷代碼框中輸入測試。)
$('#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);
}
}
});
只是一個供參考:在您的jsfiddle演示中使用的HTML是無效的。您有多個不匹配和雜亂的標籤。您也可以使用''標籤,這些標籤早已被棄用。 – Sparky