Как использовать asp.net mvc 3 jquery validate с диалоговым окном jquery, который отправляет ajax?

Я использую

asp.net mvc 3 jquery validate { {1}} беспрепятственный JavaScript.

Я пытаюсь написать всю свою проверку на стороне сервера с помощью аннотаций, а затем сделать так, чтобы новая функция mvc 3 позаботилась о стороне клиента.

У меня есть диалоговое окно с кнопкой (просто кнопкой, а не кнопкой отправки), в котором я хочу отправить данные на сервер через ajax.

Итак, когда пользователь нажимает кнопку, я отправляю форму и возвращаю false, чтобы отменить публикацию.

Я думал, что это вызовет проверку, но похоже, что это не так. Как сделать триггер проверки на стороне клиента?

Изменить

<form method="post" id="TaskFrm" action="/Controller/Action">

            <input type="text" value="" name="Name" id="Name" data-val-required="Name field cannot be left blank" data-val-length-max="100" data-val-length="task cannot exceed 100 characters" data-val="true">
</form>

var $dialog = $('<div></div>').dialog(
            {
                width: 580,
                height: 410,
                resizable: false,
                modal: true,
                autoOpen: false,
                title: 'Basic Dialog',
                buttons:
                    {
                        Cancel: function ()
                        {
                            $(this).dialog('close');
                        },
                        'Create Task': function ()
                        {
                            var createSubmitFrmHandler = $(my.selectors.createFrm).live('submit', function ()
                            {
                                alert('hi');
                                return false;
                            });

                            createSubmitFrmHandler .validate();
                            var a = createSubmitFrmHandler .valid();

                            alert(a);

                        }
                    }
            });

Это всегда возвращает true.

Edit 2

, если я помещу кнопку отправки в форму, она покажет клиентскую проверку (я использую jquery для возврата false, как показано в моем коде).

Это означает, что у меня есть сценарии и все остальное, но они не работают по неизвестным причинам, когда я пытаюсь сделать это программно.

Редактировать 3

Я застрял проверочные файлы jquery && jquery.validate.unobtrusive на главной странице. Но когда я вставляю их в частичное представление, содержащее загружаемые поля, а затем принудительно отправляю их, начинается проверка.

Я не понимаю. Я почти уверен, что путь правильный, поскольку я просто перетащил файл на свою главную страницу, и он определил путь. Наличие его в частичных представлениях на самом деле не является решением, поскольку мне придется делать это несколько раз, а это означает, что каждый раз, когда частичное представление загружается, я получаю еще одну копию этих файлов.

Edit 4

Я думаю, что это просто jquery.validate.unobtrusive, который по какой-то причине нужно загружать каждый раз. Я не уверен, почему.

6
задан chobo2 28 February 2011 в 21:04
поделиться