如何在包含Ajax.beginForm的部分视图中使用MVC3的内置验证

时间:2011-12-08 07:42:45

标签: asp.net-mvc-3 validation partial-views ajax.beginform

我的页面上有四个部分视图。在每个局部视图中,我使用的是AJAX.BeginForm。在每个局部视图中,我有一个提交按钮,单击该按钮,我只想验证该局部视图的控件。我在我的母版页中包含了内置的js文件 jquery.validate.unobtrusive.js jquery.validate.min.js ,即layout.cshtml

但是如果我在部分视图中使用AJAX.BeginForm,那么它不会验证控件,因为这些js文件不包含在这个ajax表单中。

一种方法是我在每个部分视图中包含所有这些js文件,但我不想采用这种方法,因为它使我的页面非常重。

他们是否有任何其他方式可以验证我的控件,而不包括所有部分视图中的所有js文件。

提前致谢。

1 个答案:

答案 0 :(得分:0)

加载部分视图后重新附加验证器。像这样:

$(function (){
    $('yourSelector').removeData("validator");
    $('yourSelector').removeData("unobtrusiveValidation");
    $.validator.unobtrusive.parse('yourSelector');
});

yourSelector 可以是表单。