具有不引人注目的解析的MVC 3不适用于JQuery Dialog?

时间:2012-05-28 04:30:11

标签: jquery asp.net-mvc asp.net-mvc-3 jquery-ui jquery-ui-dialog

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

 <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 Dialog上显示时,“data-val-remote”标签停止工作。

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

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

由于

1 个答案:

答案 0 :(得分:0)

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

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

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