Я не могу понять, как заставить валидацию работать на модальной коробке MVC Ajax - PullRequest
0 голосов
/ 11 ноября 2011

Я использую JQM для производства модальных боксов AJAX.

У меня есть нормальная страница, и на этой странице есть ссылка, которая запускает окно модели Ajax.

Модал Ajax запускается нормально, и у него просто есть текстовое поле и кнопка.

Модель, стоящая за ней, имеет Required в этом текстовом поле, но я не могу понять, как реализовать проверку.

В настоящее время, если в поле есть текст, все работает нормально, и поле скрывается. Если в поле нет текста, я в данный момент просто return null из контроллера, и поле все еще скрыто.

Последняя страница Ajax с формой имеет следующий код:

@using (Ajax.BeginForm(new AjaxOptions    {
    UpdateTargetId = "TheBigList",
    InsertionMode = InsertionMode.Replace,
    OnSuccess = "HideModal",
    HttpMethod = "post",
    OnFailure = "AjaxError",

}))
{
    @Html.TextBox("text")

    <input type="submit" value="OK" />

}<br />
<br />

Я надеюсь, что это просто, и я с радостью предоставлю другой код, но так как он не работает, я не уверен, насколько он актуален! HideModal точно так же, как он говорит, и я знаю, что OnFailure имеет дело с соединением, а не с проверкой (я думал о возврате кода ошибки, чтобы обмануть!), Но я пробовал много комбинаций, которые я прочитал на этом сайте без много удачи.

Хотя ближе всего я реализовал $.validator.unobtrusive.parse("#form0");, однако я не могу понять, где / как это добавить.

Это сводило меня с ума на прошлой неделе! Пожалуйста, помогите !!!!

1 Ответ

0 голосов
/ 11 ноября 2011

1) Проверка на стороне клиента через AJAX довольно проста. Ваш режим настроен правильно с необходимым набором атрибутов.

2) Следующее, что вам нужно сделать, это включить в представление следующие скрипты: -

<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>

и

<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>

3) Настройте проверку для управления следующим образом: -

@Html.EditorFor(model=>model.TextBox)
@Html.ValidationMessageFor(model => model.Textbox)

Примечание: - Возможно, вам придется изменить свойства, переданные в EditorFor и ValidationMessageFor

Надеюсь, это поможет !!

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