我有一个非常好的ValidationSummary,虽然在最后一个表单错误得到纠正后它不会消失。
我不确定这是默认行为还是错误。它似乎更倾向于后者,因为它们在我的表格提交后不会消失。
我怀疑可能影响功能的唯一方法是通过Ajax.BeginForm()
创建表单。
即便如此,当我按下提交按钮时,ValidationSummary是否应该消失正确?
答案 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());
}
});