6

我有一个运行良好的 ValidationSummary,尽管在最后一个表单错误得到纠正后它并没有消失。

我不确定这是默认行为还是错误。似乎更倾向于后者,因为在我提交表单后它们并没有消失。

我怀疑可能会影响功能的唯一一件事是表单是通过Ajax.BeginForm().

即便如此,当我点击提交按钮时,ValidationSummary 是否应该消失?

4

2 回答 2

8

您可以将其隐藏在您的 javascript 中的表单提交中。如果您检查验证摘要中的元素,您会注意到如果有任何错误,它会将样式从.validation-summary-valid更改为。.validation-summary-errors所以这很容易隐藏。

例如

$('#formName').submit(function() {
    if ($(this).valid()) { // checks form is valid.
        $('.validation-summary-errors').hide(); // hides it
    }
});
于 2013-06-18T03:17:10.727 回答
1

这是我之前使用过的一个例子,希望它可以帮助任何找到这个的人。我有点不同意接受的答案,因为它稍后会破坏摘要的可用性。

$("form#AJAX_FormA").on('submit', function (e) {
    e.preventDefault();
    $(this).validate();
    if ($(this).valid()) {
        $('.validation-summary-errors ul li').attr("style", "display:none"); //Hide
        $('.validation-summary-errors').removeClass("validation-summary-errors").addClass("validation-summary-valid");
        ajaxGenerateList($(this).serialize());
    }
});
于 2019-03-06T19:09:03.427 回答