我对登录对话框内容有部分视图。
在我的页面中我有
<input type="button" value="Open" onclick=" OpenDialog() "/>
<div id="dialog">
</div>
以下是页面上用于加载部分视图到对话框的代码:
<script type="text/javascript">
$(document).ready(function() {
$('#dialog').dialog({
autoOpen: false,
width: 400,
height: 300,
closeOnEscape: true,
closeText: "Close",
modal: true,
resizable: false,
title: "login",
open: function () {
$(this).load('@Url.Action("login", "Home")');
}
});
});
function OpenDialog() {
var form1 = $("#dialog").removeData("validator").removeData("unobtrusiveValidation");
$.validator.unobtrusive.parse(form1);
$('#dialog').dialog('open');
}
</script>
但是登录表单的客户端验证不起作用。 我的代码出了什么问题?
答案 0 :(得分:3)
您必须在加载表单后运行$.validator.unobtrusive.parse(form1);
。将打开的处理程序更改为
open: function () {
var $this = $(this);
$this.load('@Url.Action("Login", "Account")', function () {
$.validator.unobtrusive.parse($this);
});
}
答案 1 :(得分:0)
我将$.validator.unobtrusive.parse(selector);
移至局部视图并解决了问题。