我有一个使用jQuery.validation.js插件和 MVC 的jQuery.validation.unobtrusive.js的ASP.NET MVC 4 应用程序。我在视图模型上使用数据注释来验证文本框的输入是否为整数。
此(嵌套)视图使用...加载到父视图中
<% Html.RenderPartial("New"); %>
第一个初始页面加载,客户端验证工作。但是任何使用 ajax 调用重新加载嵌套视图,客户端验证不再有效。这是为什么?
更新:(来自以下webdeveloper解决方案的代码示例)
$.validator.unobtrusive.parse($('form'));
例子:
var saveAndUpdate = function (url) {
var myForm = $('form', $('#TheDivThatContainsTheNewHTML'));
$.ajax({
url: url,
type: 'POST',
data: myForm.serialize(),
success: function (result) {
$('#TheDivThatContainsTheNewHTML').html(result);
$.validator.unobtrusive.parse($('#TheDivThatContainsTheNewHTML'));
},
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.status);
alert(thrownError);
},
dataType: 'html'
});
}