我有一个运行良好的 ValidationSummary,尽管在最后一个表单错误得到纠正后它并没有消失。
我不确定这是默认行为还是错误。似乎更倾向于后者,因为在我提交表单后它们并没有消失。
我怀疑可能会影响功能的唯一一件事是表单是通过Ajax.BeginForm()
.
即便如此,当我点击提交按钮时,ValidationSummary 是否应该消失?
我有一个运行良好的 ValidationSummary,尽管在最后一个表单错误得到纠正后它并没有消失。
我不确定这是默认行为还是错误。似乎更倾向于后者,因为在我提交表单后它们并没有消失。
我怀疑可能会影响功能的唯一一件事是表单是通过Ajax.BeginForm()
.
即便如此,当我点击提交按钮时,ValidationSummary 是否应该消失?
您可以将其隐藏在您的 javascript 中的表单提交中。如果您检查验证摘要中的元素,您会注意到如果有任何错误,它会将样式从.validation-summary-valid
更改为。.validation-summary-errors
所以这很容易隐藏。
例如
$('#formName').submit(function() {
if ($(this).valid()) { // checks form is valid.
$('.validation-summary-errors').hide(); // hides it
}
});
这是我之前使用过的一个例子,希望它可以帮助任何找到这个的人。我有点不同意接受的答案,因为它稍后会破坏摘要的可用性。
$("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());
}
});