1. 程式人生 > >為jquery validate 新增驗證失敗回撥

為jquery validate 新增驗證失敗回撥

1、jQuery Validation Plugin - v1.15.1 (此版本不支援IE8)仍然不支援 error(驗證失敗)回撥,在使用過程中非常不爽,那我們自己加上吧

第240行左右:
if (!c) {
   return this.formatAndAdd(b, e), !1
}
改成:
if (!c) {
   //return this.formatAndAdd(b, e), !1
this.formatAndAdd(b, e);
   var errorCallback=this.settings.fail;
   if($.type(errorCallback)==='function'
){ errorCallback(b,e); } return false; }

2、jQuery Validation Plugin - v1.10.0 (此版本支援IE8)

第545行左右:
if( !result ) {
   this.formatAndAdd( element, rule );   
   return false;
}
改成:
if( !result ) {
   this.formatAndAdd( element, rule );
   var errorCallback=this.settings.fail;
   if($.type(errorCallback
)==='function'){ errorCallback(element); } return false; }

好了,這下咱們就可以呼叫了

$("#forgetwordForm").validate({
  .
  .
fail: function(element,e) {                 //驗證失敗回撥(擴充套件validate)
var sce = $(element).next('label.success');
    sce.hide();
    var setTimeLater = setTimeout(function(){
        var 
error = $(element).siblings('label.error'); if(error.find('.wrongIcon').length == 0) { error.prepend('<i class="wrongIcon"></i>'); } clearTimeout(setTimeLater); },1); },
  .
  .
})