asp.net-mvc – jQuery.Validation.Unobtrusive客户端验证仅在脚本在视图页面上时有效

前端之家收集整理的这篇文章主要介绍了asp.net-mvc – jQuery.Validation.Unobtrusive客户端验证仅在脚本在视图页面上时有效前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个ASP.NET MVC 4应用程序,它使用jQuery.validation.js插件和MVC的jQuery.validation.unobtrusive.js.我在视图模型上使用数据注释来验证文本框的输入是否为整数.

使用…在父视图中加载此(嵌套)视图

<% 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'
    });
}

解决方法

但是任何使用ajax调用重新加载嵌套视图,客户端验证都不再有效.这是为什么?

验证适用于文档就绪,当您刷新页面时,您应该手动为表单初始化验证.

像这样:

$.validator.unobtrusive.parse("form");

同样的问题:jquery.validate.unobtrusive not working with dynamic injected elements

猜你在找的asp.Net相关文章