MVC3 условная проверка JQuery - PullRequest
       6

MVC3 условная проверка JQuery

0 голосов
/ 28 октября 2011

Я пытаюсь выполнить некоторую условную проверку с использованием валидатора jQuery.

У меня есть мастер в JavaScript, который вызывает метод проверки при переходе к следующему шагу:

var validator = $("form").validate();
var anyError = false;

step.find("input").each(function () {
    if (!validator.element(this)) {
        // validate every input
        anyError = true;
    }
});

if (anyError) {
    return false;
}

Все отлично работает, когда у меня есть атрибут [Обязательный] на модели.

Однако у меня есть такой сценарий:

  • У меня есть выпадающий список с выбором: Email или Ftp
  • Когда выбрана опция Email, я хочу показать поле адреса электронной почты и добавить подтверждение
  • Когда выбрана опция Ftp, я не хочу проверять адрес электронной почты

Вот HTML-фрагмент для адреса электронной почты.

<div class="email-address" style="display: none;">
   <label class="fullwidth" for="EmailAddress">Email Address</label>
   @Html.TextBoxFor(m => m.EmailAddress, new { @class = "longtext" })
   <div id="email-validation">
   </div>

Я пробовал все виды, но следующая процедура проверки кнопки всегда думает, что форма верна. Например.

$("form").validate({
    errorLabelContainer: '#email-validation',
    rules: {
        EmailAddress: {
           required: true
        }
    },
    messages: {
        EmailAddress: "Please enter an email address"
    }
});

Любая помощь приветствуется.

Ответы [ 2 ]

0 голосов
/ 28 октября 2011

Я бы использовал тот факт, что disabled входные данные не участвуют в проверке. Добавьте необходимый для стороны сервера, но просто отключите и скройте EmailAddress, когда выбран ftp.

0 голосов
/ 28 октября 2011

Я не уверен, но я почти уверен, что вы не можете использовать стандартную проверку jquery в сочетании с проверкой на стороне клиента MVC3.Если быть более точным, то проверка на стороне клиента MCV3 адаптирует проверку jquery для собственного использования, и это противоречит использованию автономной проверки jquery.

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