2013-01-10 35 views
5

我已經實現了一個錯誤摘要,根據這個example here:jquery驗證:如何顯示和隱藏錯誤摘要?

雖然我得到它顯示,我沒有線索如何隱藏它,一旦沒有錯誤剩餘。

fiddle here進行論證:

類型無論是在兩個領域的事情,而錯誤信息消失,總結仍然存在。必須有一個我需要訂閱的事件,但我無法弄清楚。

$(document).ready(function() { 

    var validator = validation_rules('#myform'); 
    validator.form(); 

    function validation_rules(form) { 

    $.validator.addClassRules("fillone", { 
     require_from_group: [1, ".fillone"] 
    }); 

    var validator = $(form).validate({ 
     errorPlacement: function (error, element) { 
     var field_error = $(form).find('#id_' + element.attr('name')).siblings('.field_error'); 
     if (field_error.length > 0) { 
      error.appendTo(field_error); 
     } 

     $(field_error).show(); 
     }, 
     invalidHandler: function() { 
     $("#validation_summary").text(validator.numberOfInvalids() + " field(s) are invalid"); 
     } 

    }); 
    return validator; 
    } 

}); 

回答

4

使用errorContainer選項。這將顯示/隱藏表單時生效指定的元素/無效

errorContainer

:{ 「#validation_summary」}

例子是http://jsfiddle.net/eDk2m/7

編輯閱讀評論

有一個事件可以插入 - 一個很好的例子是在插件演示的custom-methods-demo.html頁面。它看起來像這樣

var validator = $("form").bind("invalid-form.validate", 
function() { 
var errorCount = validator.numberOfInvalids(); 
// do other stuff here 
}).validate({...}); 
+0

這是一個很好的解決方案。從我+1。我希望能有一種功能,我可以掛鉤爲了使標籤標題也是紅色的,並且在錯誤消失後移除紅色。就像在這個小提琴中一樣:http://jsfiddle.net/houmie/Nf8xY/6/您是否認爲有一種方法可以在出現錯誤時將TAB B變爲紅色,並在沒有錯誤時刪除樣式?從字面上來看,一個事件可以嵌入? – Houman

+0

有一個事件。它是「invalid-form.validate」。我會編輯答案,因爲我可以格式化一些代碼 –

+0

謝謝你幫助我朝着正確的方向發展。它仍然存在問題。我最好開始一個新問題。 – Houman