使用 MVC Razor 视图引擎;我有一个模型,该模型具有属性上的标准必需属性和一个通过 ajax 回调呈现的局部视图。主视图包含表单,部分视图仅包含显示模板等,为了在客户端触发数据注释,我必须执行以下操作;
$('#MyButton').click(function () {
$('#MyContainer').load("MY_ACTION_URL", function () {
var form = $("#ReserveForm");
form.removeData('validator');
form.removeData('unobtrusiveValidation');
$.validator.unobtrusive.parse(form);
});
});
上面的效果很好,它重新绑定了我的客户端验证,它们完美地触发了。问题是我有一些没有触发的自定义 Jquery 验证。例如;
$('#ReserveForm').validate({
ignoreTitle: true,
errorLabelContainer: '#errorContainer',
errorClass: 'ClientSide-Validation-errors'
});
$.validator.addMethod('myCustomValidation',
function (value, element, param) {
return $(element).val() == '' && param == true;
}, 'my message');
$('#MYINPUT').rules("add",
{
myCustomValidation: true
});
上面的自定义验证是在文档准备好呈现的部分时声明的,但没有运气。
PS,如果我在页面加载时渲染部分内容(例如在 RenderAction 中),那么自定义验证会正常触发。
任何帮助表示赞赏。