標籤:jquery validate 提交表單驗證失敗擴充方法
由於Validate沒有提供表單提交過後,驗證不通過觸發方法。這裡做一下擴充。
引用情境:每次提交表單元素驗證不通過觸發方法
開啟原始碼 找到focusInvalid 方法, 這裡是提交表單時驗證不通過觸發方法,在這裡做擴充是就好不 過的。
focusInvalid: function() {
if ( this.settings.focusInvalid ) {
try {
$(this.findLastActive() || this.errorList.length && this.errorList[0].element || [])
.filter(":visible")
.focus()
.trigger("focusin");
/* 擴充方法failedCallback */
var failedCallback=this.settings.failedCallback;
if($.type(failedCallback)===‘function‘){
failedCallback(this.errorList);
}
} catch(e) {
}
}
}
使用
$(‘#editForm‘).validate(
{
rules:..... ,
failedCallback:function(errorList){
// 迴圈驗證失敗元素
for(var i=0; i<errorList.length; i++){
var element=errorList[0].element;
if($(element).attr("name") == ‘birthday‘){
........................................
}
}
}
}
);
本文出自 “簡潔” 部落格,請務必保留此出處http://201510240609.blog.51cto.com/5178830/1933670
jQuery Validate 提交表單驗證失敗擴充方法