3

我有一个带有“data-val-remote”标签的输入标签的 MVC 3 应用程序。例如

 <div id="dialog" title="Test">  
       <input class="captcha_input" data-val="true" 
       data-val-remote="ErrorMessage" 
       data-val-remote-additionalfields="*.value" 
       data-val-remote-url="/Controller/Action" 
       data-val-required="Required" id="TestID" name="TestValue" type="text" value="">
   </div>

显示对话框的 JQUERY 片段:

$('#dialog').dialog({
            height: 260,
            width: 400,
            modal: true,
            autoOpen: false
        });

不幸的是,MVC 远程验证本身可以工作,但是当在 JQuery 对话框上显示时,“data-val-remote”标签停止工作。

我原以为即使我们在 Dialog 上显示 INPUT 字段,它仍然继承所有 Javascript 包含和表单操作?

有人可以帮助这是一个错误还是有任何解决方法?

谢谢

4

1 回答 1

0

当 DOM 准备好时,MVC 不显眼的验证器订阅输入控件的事件一次。如果您的页面上有动态内容,您需要指示验证框架重做订阅。

在您的情况下,动态内容是 dailog。因为它将使用旧内容创建一个新 div,所以您需要在对话框创建/打开后重新应用验证器:

$.validator.unobtrusive.parse("#dialog");
于 2012-05-28T06:02:05.067 回答