2010-07-22 41 views
0

我试图一次显示一个错误消息,然后一旦该错误已被纠正显示下一个错误。使用jquery在一个时间显示一个错误消息

例如,一旦日期文本框有效,月份错误消息choudl show就会在三个文本框(日期,月份&年)上进行验证。

我至今对这个过程的代码:

var pi_ArrayValidationResult; 
var pi_EachValidator = function(delegate) { 
    if (typeof (Page_Validators) !== undefined) { 
     for (var i = 0; i < Page_Validators.length; ++i) { 
      delegate(Page_Validators[i]); 
     } 
    } 
}; 

var pi_CheckValidators = function() { 

    var fields = {}; 
    pi_EachValidator(function(val) { 
     if (fields[val.controltovalidate] === undefined) { 
      fields[val.controltovalidate] = true; 
     } 
     fields[val.controltovalidate] = fields[val.controltovalidate] && val.isvalid; 
    }); 
    for (var field in fields) { 
     if (fields.hasOwnProperty(field)) { 
      $('#' + field) 
       .parent('div.fm-req') 
       .toggleClass('fm-error', !fields[field]); 

这部分是需要修改,以显示一个错误,那么接下来的一次以前的错误被纠正了一下:

  $('#' + field).siblings('span').hide(); 
      $('#' + field).siblings('span').each(function() { 
       var $this = $(this); 
       if (!$this.isvalid) { 
        $this.show(); 
        return false; 
       } 
      }); 
     } 
    } 
}; 

return { 
    init: function(args) { 
     var fnOld = ValidatorUpdateIsValid; 
     ValidatorUpdateIsValid = function() { 
      fnOld(); 
      pi_CheckValidators(); 
     } 
    } 
}; 

回答

0

如果你只是在验证三个文本字段的输入,你可以使用jQuery验证器插件和日期字段的内置方法。只需重写showErrors处理程序即可在回调参数中显示数组中的第一个错误。

我对Page_Validators不熟悉。这是一个.net的东西吗?

相关问题