【问题标题】:validation not working when dynamically loading partial view through ajax通过ajax动态加载部分视图时验证不起作用
【发布时间】:2013-06-15 10:23:20
【问题描述】:
当通过 jquery ajax 调用动态加载内容时,我无法应用验证...
我到处都找到了这个解决方案,但不知道如何使用在哪里编写这段代码??
$('form').removeData("validator");
$('form').removeData("unobtrusiveValidation");
$.validator.unobtrusive.parse('form');
在我之前的问题中,我的代码是HERE
【问题讨论】:
标签:
jquery
asp.net-mvc
unobtrusive-validation
【解决方案1】:
我确实意识到这是一个老问题。但它可能对将来来这里的人有用。
这就像在成功的 ajax 请求后运行上面的代码一样简单。
$.ajax({
url: editPageUrl,
contentType: 'application/html; charset=utf-8',
type: 'GET',
dataType: 'html',
data: { id: taskId },
cache: false,
success: function (data) {
var taskBody = $('#task-body');
$(taskBody).html(data);
var $form = $(taskBody).find('form');
$form.removeData("validator");
$form.removeData("unobtrusiveValidation");
$.validator.unobtrusive.parse($form);
}
});
当 ajax 请求完成后,只需重新设置验证即可。这样做会将所有元素添加到 jquery 验证中,并在 #taskeditform-body 内的表单上触发提交验证