0

ここで検証が機能しないのはなぜですか? クリックすると、部分的なビューからコンテンツをロードするダイアログを開くリンクがあります。ダイアログのボタンがクリックされたときにフォームを検証したい。レイアウト ファイルに検証スクリプトを読み込みます。

$dialog  = $<'<div></div>');
$('.linkClass').click(function (e) {
            e.preventDefault();
            $.ajax({
                url: this.href,
                type: "GET",
                success: function (result) {
                    $dialog.load(this.url).dialog({
                        resize: "auto",
                        width: 490,
                        height: 430,
                        modal: true,
                        buttons: {
                            Save: function () {
                                if ($dialog.find('form:first').valid()) {
                                    $.ajax({
                                        url: "/Home/Dates",
                                        type: "POST",
                                        data: $('form').serialize(),
                                        datatype: "html",
                                        success: function (result) {
                                            $dialog.dialog('close');
                                        },
                                        error: function (xhr, testStatus, error) {alert("Error occured: " + error + " " + xhr + " " + testStatus) }
                                    });*/
                                }
                                else { alert("Please correct the errors on the form") }
                            },
                            Cancel: function () {
                                $(this).dialog("close");
                            }
                        }
                    });
                   $.validator.unobtrusive.parse($dialog.find('form:first').valid());
                    $dialog.dialog('open');

                },

                error: function (request, status, error) {
                    alert(request.responseText);
                }
            });

        });

ただし、これは機能しません。検証スクリプトが正しく読み込まれていることがわかります。また、ダイアログにロードされた部分ビューにスクリプトを追加すると、検証がうまく機能します。どうしてこんなことに?これらのスクリプトを 2 つの場所にロードする必要があるのはなぜですか?

4

1 に答える 1