我有一個問題得到它的工作。在我們的表格中,我們根據您選擇的國家/地區驗證郵政編碼(郵政編碼)的長度。澳大利亞和匈牙利有4個字符最小長度,巴林必須有至少3個,其他國家必須至少有5所以我寫了一個規則:jquery驗證器添加方法
澳大利亞
$.validator.addMethod("AusZip", function(value, element) {
var isAus = $("#UpdateCountry").val() === "AUS";
if (isAus && value.length < 4) {
return false;
} else return true;
}, "Australian Zip Code Must Be at least 4 Digits");
匈牙利
$.validator.addMethod("HunZip", function(value, element) {
var isHun = $("#UpdateCountry").val() === "HUN";
if (isHun && value.length < 4) {
return false;
} else return true;
}, "Hungarian Zip Code Must Be at least 4 Digits");
這裏指定
和巴林
$.validator.addMethod("BHRZip", function(value, element) {
var isBHR = $("#UpdateCountry").val() === "BHR";
if (isBHR && value.length < 3) {
return false;
} else return true;
}, "Bahrain Zip Code Must Be at least 3 Digits");
所有其他國家,這是磨片如果您選擇了匈牙利,並有3位郵政編碼相同 - 再我的問題是
$.validator.addMethod("RegZip", function(value, element) {
var notAus = $("#UpdateCountry").val() != "AUS";
var notBHR = $("#UpdateCountry").val() != "BHR";
var notHun = $("#UpdateCountry").val() != "HUN";
if (notAus && notBHR && notHun && value.length < 5) {
return false;
} else return true;
}, "Zip Code Must Be at least 5 Digits");
當我添加規則「RegZip」即使你選擇澳大利亞或匈牙利有一個4位數的拉鍊,你的錯誤。當我刪除「RegZip」時,如果小於4位數字,您只會在澳大利亞/匈牙利出現錯誤,而如果小於3則匈牙利錯誤。問題是所有其他國家都沒有要求。我錯過了什麼?
thx!
編輯 - 添加「UpdateCountry」作爲元素ID。作品。抱歉混淆 - 我的不好!
你可以創建一個小提琴嗎? – mcgrailm 2011-05-09 16:29:02
@mcgrailm - 這裏是小提琴http://jsfiddle.net/gYs2Y/ – 2011-05-09 16:44:03