$.validator.unobtrusive.parse 将局部视图加载到 jquery-ui 对话框时不起作用?

$.validator.unobtrusive.parse not work when load partial view to jquery-ui dialog?

我有一个登录对话框内容的局部视图。

在我的页面我有

<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>

但是登录表单的客户端验证不起作用。 我的代码有什么问题?

我将 $.validator.unobtrusive.parse(selector); 移动到部分视图并解决了问题。

加载表单后必须运行$.validator.unobtrusive.parse(form1);。将您的开放处理程序更改为

open: function () {
    var $this = $(this);
    $this.load('@Url.Action("Login", "Account")', function () {
        $.validator.unobtrusive.parse($this);
    });
}