我遇到的情况是,当通过jquery ajax调用动态加载内容时,我无法应用验证...
我到处找到这个解决方案,但不知道如何使用在哪里编写这段代码?
$('form').removeData("validator");
$('form').removeData("unobtrusiveValidation");
$.validator.unobtrusive.parse('form');
我之前的问题
中我的代码为HERE答案 0 :(得分:2)
我确实知道这是一个老问题。但是对于将来来这里的人来说可能会有用。
这很简单,就是在成功的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
内的表单上触发验证