我有一个带有“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包含和表单操作?
有人可以帮助这是一个错误还是有任何解决方法?
由于
答案 0 :(得分:0)
当DOM准备就绪时,MVC不显眼的验证器会对输入控件的事件进行一次订阅。如果您的页面上有动态内容,则需要指示验证框架重做订阅。
在你的情况下,动态内容是dailog。因为它将使用旧内容创建一个新div,所以您需要在创建/打开对话框后重新应用验证器:
$.validator.unobtrusive.parse("#dialog");