MVC 4客户端验证不适用于使用Ajax加载的表单

时间:2013-09-03 18:10:27

标签: jquery ajax asp.net-mvc-4 unobtrusive-validation

我有一个管理页面,用户点击链接,然后在特定的中加载包含网络表单的相应PartialView使用Ajax在管理页面上显示> div

所有

"~/Scripts/jquery-2.0.3.js",
"~/Scripts/jquery.unobtrusive-ajax.js",
"~/Scripts/jquery.validate.js",
"~/Scripts/jquery.validate.unobtrusive.js"
管理页面中引用

,并且在加载PartialView时, jQuery客户端验证将无效。

但是当我在PartialView中引用这些脚本时,一切正常,但我不打算为每个PartialView执行此操作,因为它们很多并且每次都加载,至少必须从服务器再次请求其中两个.js文件。

有没有办法让我的父母(管理)页面中的这些脚本没有这个问题?

2 个答案:

答案 0 :(得分:47)

您需要在每个部分视图中使用此功能:

$(document).ready(function () {

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

});

基本上,验证不受动态渲染表单的约束......

答案 1 :(得分:1)

基本上验证器解析文档就绪的元素。如果您愿意,可以自己调用它,但有人已经发布了有关此问题的问题。并且接受的答案可能仍然有效。其中一个答案有一个博客文章链接供您进一步阅读。

client side validation with dynamically added field