Как показать всплывающее окно на событие проверки? - PullRequest
1 голос
/ 02 декабря 2011

Похоже, я застрял, пытаясь найти хорошее решение для моей проблемы. У нас есть приложение MVC 3 и форма, которую мы проверяем с помощью аннотаций данных. В поле Электронная почта у меня есть RemoteAttribute, который проверяет, что электронная почта является unque. Это мне нужно реализовать:

  1. Если адрес электронной почты уникален - все в порядке, нам не нужно ничего делать.

  2. Если Email не является unque - нам нужно показать модальное всплывающее окно с выбором да \ нет. Если пользователь выбирает «да» - поле будет действительным, если «нет» - поле недействительно, и нам нужно показать всплывающее сообщение.

К сожалению, я не смог найти хорошего решения для этого

Небольшое обновление: я не хочу проверять всю форму: только поле электронной почты. В этом случае не могу понять, как использовать form.Validate из jQuery или ValidationSummary

Ответы [ 2 ]

3 голосов
/ 02 декабря 2011

Попробуйте:

В вашем представлении создайте контейнер для ошибок из формы ModelState:

<div id="errorPopUp" style="display:none">
    @Html.ValidationSummary()
</div>

и в разделе сценариев вашего представления:

$(document).ready(function () {
    if(@:!ModelState.IsValid) {
            $('#errorPopUp').dialog({
                resizable: false,
                width: 400,
                modal: true,
                autoOpen: true
            });
        }
    }
}
1 голос
/ 02 декабря 2011

Вы можете использовать jquery validate для этого:

            var frm = $('#formData');

            frm.validate();
            if (frm.valid()) {
            // do nth or submit the form
            }
            else{
                 // Declare a dialog
                 var $dialog = $('#dialogdiv').dialog({
                     autoOpen: false,
                     modal: true
                 });
                 // Declare the yes/no options
                 ....
           }

Вам это нужно?

Надеюсь, эта помощь:)

...