Я пытаюсь выполнить некоторую условную проверку с использованием валидатора 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"
}
});
Любая помощь приветствуется.