我有一个表单,其中的元素可能包含在折叠的手风琴 div 中。当有人提交表单并且不显眼的验证器在这些“隐藏”表单元素中的一个或多个上发现错误时,我希望折叠的手风琴打开以便他们可以看到他们的错误。
经过一番研究,我在这里找到了一个建议,在 ASP.NET MVC 3 中使用不显眼的验证,当表单无效时如何采取措施?它说要制作我自己的不显眼的适配器。所以我做到了,它在这里:
$.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 行不写。
我知道这是一个自定义适配器,因为它不适用于特定元素并且不返回任何内容,例如 bool。
有人可以帮忙完成这个吗,拜托。谢谢!