2016-10-21 98 views
0

我正在使用jQuery驗證插件來驗證我的表單,並且需要一種方法來檢測表單字段何時返回爲無效。當它返回無效時,我想推送更多HTML以形成字段。當字段返回與「success:」方法一樣有效時,我能夠推送成功標記,但我無法找到正確的方法來檢測字段無效。jQuery驗證錯誤事件

+0

雖然我理解你的問題,但你仍然應該向我們展示你的相關代碼,以便將來也能幫助有相似問題的讀者。 – Sparky

+0

我們不知道您要對無效事件做什麼......您是否試圖刪除成功標記? – Sparky

回答

0

我想推出更多的HTML表單字段,當它返回無效。

使用the highlight and unhighlight functions。這些通常用於在元素上切換errorvalid類。只要您保留函數的默認部分,您可以將自定義代碼添加到這些代碼中。

無法找到正確的方法來檢測字段無效。

highlight字段無效時觸發。

// FIRES WHEN INVALID 
highlight: function(element, errorClass, validClass) { 
    if (element.type === "radio") { 
     this.findByName(element.name).addClass(errorClass).removeClass(validClass); 
    } else { 
     $(element).addClass(errorClass).removeClass(validClass); 
    } 
    // your custom code here - field is INVALID 
}, 
// FIRES WHEN VALID 
unhighlight: function(element, errorClass, validClass) { 
    if (element.type === "radio") { 
     this.findByName(element.name).removeClass(errorClass).addClass(validClass); 
    } else { 
     $(element).removeClass(errorClass).addClass(validClass); 
    } 
    // your custom code here - field is VALID 
} 

當然,您也可以更改默認代碼,但這些類可能無法正確切換。利用表示正在驗證的表單字段的element參數。

我能夠成功推時對勾標記字段返回與「成功:」爲有效的方法

既然你要使用highlight爲「無效」,你應該使用unhighlight而不是success時這是「有效的」。 (你可以保留success作爲tickmark)。

側面說明:一個success對勾標記所示的常規錯誤label對象中因此通常沒有必要使用一個錯誤事件刪除此......每當有一個新的錯誤它自動刪除。