代码之家  ›  专栏  ›  技术社区  ›  griZZZly8

带有部分视图和Ajax的ASP.NET MVC客户端验证

  •  5
  • griZZZly8  · 技术社区  · 16 年前

    我正在使用MVC 2.0框架的客户端验证功能 用 Html.ValidationMessageFor() 和 Html.EnableClientValidation() )

    当我以简单的形式使用验证时,一切都很好。

    但是当我通过jquery ajax获得这个表单时

    $.get('PathToMyForm', function(htmlResult) {
        $('selector').html(htmlResult);
    });
    

    客户端验证不起作用。为什么?

    3 回复  |  直到 11 年前
        1
  •  0
  •   Atanas Korchev    16 年前

    我对MVC验证和部分视图也有问题。我使用jquery.validate.js而不是内置客户机验证对其进行了分类。你可以试试看。

        2
  •  7
  •   InvisiblePanda    11 年前

    如果使用jquery.validate(尤其是MVC),并且要通过Ajax加载页面,则需要在页面加载后进行以下调用:

    $.validator.unobtrusive.parse($("#validation"));
    

    在我的博客上看到更多: Using Unobtrusive jQuery Validation with Forms Loaded via AJAX

        3
  •  0
  •   Peter Mortensen Pieter Jan Bonestroo    15 年前

    也许jquery没有在Ajax响应上评估javascript代码?

    尝试在Ajax调用中使用DataType属性,

    $.get('PathToMyForm', {dataType 'html'}, function(htmlResult) {
        $('selector').html(htmlResult);
    });
    

    从 jQuery documentation :

    数据库类型 默认值:智能猜测(XML、JSON、脚本或HTML)

    您期望从服务器返回的数据类型。如果没有指定,jquery将根据响应的mime类型智能地尝试获取结果(xml mime类型将生成xml,在1.4 json中将生成javascript对象,在1.4脚本中将执行脚本,其他任何内容将作为字符串返回)。