query formValidator外掛程式非常好用,但是有一個嚴重的Bug,在使用ajax驗證的時候,如果輸入框的內容已經存在,把滑鼠放到輸入框,不做任何修改再離開,則會提示錯誤, 這是這個外掛程式犯的一個很愚蠢的錯誤
複製代碼 代碼如下:oneIsValid: function(id, index) {
var returnObj = new Object();
returnObj.id = id;
returnObj.ajax = -1;
returnObj.errormsg = ""; //自訂錯誤資訊
var elem = $("#" + id).get(0);
var settings = elem.settings;
var settingslen = settings.length;
//只有一個formValidator的時候不檢驗
if (settingslen == 1) { settings[0].bind = false; }
if (!settings[0].bind) { return null; }
for (var i = 0; i < settingslen; i++) {
if (i == 0) {
if ($.formValidator.isEmpty(id)) {
returnObj.isvalid = true;
returnObj.setting = settings[0];
break;
}
continue;
}
returnObj.setting = settings[i];
if (settings[i].validatetype != "AjaxValidator") {
$.formValidator.triggerValidate(returnObj);
} else {
returnObj.ajax = i;
settings[i].isvalid = true;
}
if (!settings[i].isvalid) {
returnObj.isvalid = false;
returnObj.setting = settings[i];
break;
} else {
returnObj.isvalid = true;
returnObj.setting = settings[0];
if (settings[i].validatetype == "AjaxValidator") break;
}
}
return returnObj;
},