2010-07-22 75 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的東西嗎?

相關問題