MVC 4添加自定义不显眼的验证

问题描述:

我有可能包含折叠手风琴的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行不写。

我明白,这是一个自定义适配器,因为它并不适用于一个特定的元素,并且不返回任何东西,就像一个布尔值。

有人能帮助完成此,请。谢谢!

虽然我没有直接找到答案的上方,我也用得到我想要的结果如下:

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