Доступ к объекту проверки Microsoft Ajax перед отправкой вызова jQuery Ajax на сервер - PullRequest
0 голосов
/ 06 апреля 2010

Я создал представление, которое я выполняю как на стороне сервера, так и на стороне клиента на странице, используя атрибуты DataAnnotation, которые украшают каждый вход в форме. Проверка выполняется, когда пользователь выходит из элемента управления формы или когда пользователь нажимает кнопку «Отправить», которая имеет тип «отправить».

        <table width="100%">
            <tr>
                <td class="editor-label" width="20%">
                    <%= Html.LabelFor(model => model.From)%>
                    (Email)*
                </td>
                <td width="80%">
                    <%= Html.TextBoxFor(model => model.From, new { size=30, maxlength=100})%>
                    <%= Html.ValidationMessageFor(model => model.From)%>
                </td>
            </tr>
       <tr>
                <td class="editor-label" width="20%">
                </td>
                <td width="80%">
                    <input type="button" id="submitFeedback" value="Send" />
                    <input type="button" id="cancelFeedback" value="Cancel" onclick="closePopup();" />
                </td>
            </tr>

Поскольку я публикую данные формы через вызов Async Ajax с использованием jQuery. Он обходит валидацию, установленную в форме. Я хочу, чтобы проверка выполнялась, когда пользователь нажимает кнопку, которую я использую вместо кнопки «отправить».

    $(function() {
        $('#submitFeedback').click(function() {
            $.ajax({
                type: "POST",
                url: "/Feedback/SubmitFeedback",
                data: { from: $('#From').val(), to: $('#To').val(), subject: $('#Subject').val(), body: $('#Comments').val() },
                success: function(feedback) {
                    alert(feedback);
                    closePopup();
                }
            });
        });
    });

Мне нужен доступ к объекту проверки библиотеки Microsoft Ajax на стороне клиента, и я предполагаю, что у него должен быть какой-то метод "IsValid".

Спасибо, Мохаммад

1 Ответ

0 голосов
/ 06 апреля 2010

Установите имя вашей функции проверки JavaScript в Ajax.BeginForm () AjaxOptions :

Ajax.BeginForm("ActionMethod", new AjaxOptions(){OnBegin = "validateForm"}) { ...

Это вызовет функцию проверки перед отправкой формы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...