我有一个在主视图中呈现的部分视图。部分视图利用了System.ComponentModel.DataAnnotations
and Html.EnableClientValidation()
.
单击链接,包含部分视图的 div 将显示在JQuery.Dialog()
.
然后,我单击“保存”按钮,而不在经过验证的输入字段中输入任何文本。这会导致客户端验证按预期触发,并在无效字段旁边显示“*required”消息。
单击取消按钮时,我想将客户端 MVC 验证重置回默认状态并删除任何消息,以便在用户再次打开对话框时做好准备。有推荐的方法吗?
这个答案是针对MVC3的。请参阅下面的评论以获取将其更新到 MVC 4 和 5 的帮助
如果您只是想清除验证消息,以便它们不会显示给用户,您可以使用 javascript 来完成,如下所示:
function resetValidation() {
//Removes validation from input-fields
$('.input-validation-error').addClass('input-validation-valid');
$('.input-validation-error').removeClass('input-validation-error');
//Removes validation message after input-fields
$('.field-validation-error').addClass('field-validation-valid');
$('.field-validation-error').removeClass('field-validation-error');
//Removes validation summary
$('.validation-summary-errors').addClass('validation-summary-valid');
$('.validation-summary-errors').removeClass('validation-summary-errors');
}
如果您需要重置仅在弹出窗口中起作用,您可以这样做:
function resetValidation() {
//Removes validation from input-fields
$('#POPUPID .input-validation-error').addClass('input-validation-valid');
$('#POPUPID .input-validation-error').removeClass('input-validation-error');
//Removes validation message after input-fields
$('#POPUPID .field-validation-error').addClass('field-validation-valid');
$('#POPUPID .field-validation-error').removeClass('field-validation-error');
//Removes validation summary
$('#POPUPID .validation-summary-errors').addClass('validation-summary-valid');
$('#POPUPID .validation-summary-errors').removeClass('validation-summary-errors');
}
我希望这就是您所寻求的效果。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)