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
}