更正错误后ValidationSummary是否仍然可见?

时间:2013-06-18 00:27:46

标签: asp.net-mvc forms validation

我有一个非常好的ValidationSummary,虽然在最后一个表单错误得到纠正后它不会消失。

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

我怀疑可能影响功能的唯一方法是通过Ajax.BeginForm()创建表单。

即便如此,当我按下提交按钮时,ValidationSummary是否应该消失正确

2 个答案:

答案 0 :(得分:7)

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

e.g。

$('#formName').submit(function() {
    if ($(this).valid()) { // checks form is valid.
        $('.validation-summary-errors').hide(); // hides it
    }
});

答案 1 :(得分:0)

这是我以前使用过的东西的一个例子,希望它可以帮助发现它的任何人。我有点不同意这个公认的答案,因为它在以后破坏了摘要的可用性。

$("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());
    }
});