2013-07-11 84 views
1

我有可能包含摺疊手風琴的div內的元件的形式。當有人提交表單並且不顯眼的驗證器在一個或多個這些「隱藏的」表單元素上發現錯誤時,我想要摺疊的手風琴打開,以便他們可以看到他們的錯誤。MVC 4添加自定義不顯眼的驗證

做了一些研究之後,我發現這裏的建議,Using unobtrusive validation in ASP.NET MVC 3, how can I take action when a form is invalid?它說讓我自己不顯眼的適配器。所以,我沒有,它是在這裏:

$.validator.unobtrusive.adapters.add(
'collapsevalidation', 
    function() { 
    var tabs = $('.collapse').not('.in'); 
    //console.log("tabs.length: " + tabs.length); 
    $(tabs).each(function() { 
     if ($(this).has('.field-validation-error').length) { 
      id = "#" + $(this).attr('id'); 
      //console.log("id: " + id); 
      $("[data-target='" + id + "']").collapse('show'); 
     } 
    }); 

}(jQuery的));

適配器插件已經添加到我的網頁,現在我想弄清楚「鉤住」它,但我似乎怎麼也不能這樣做。到目前爲止,我已將以下內容添加到我的頁面:

jQuery.validator.unobtrusive.adapters.add("collapsevalidation"); 

這似乎並不奏效。當我在提交時產生錯誤時,console.log行不寫。

我明白,這是一個自定義適配器,因爲它並不適用於一個特定的元素,並且不返回任何東西,就像一個布爾值。

有人能幫助完成此,請。謝謝!

回答

1

雖然我沒有直接找到答案的上方,我也用得到我想要的結果如下:

$("form").bind("invalid-form.validate", function() { 
    //My code here 
} 
相關問題