Я намагаюся зробити умовну перевірку, використовуючи 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
- Коли вибрано параметр "Електронна адреса", я хочу показати поле адреси електронної пошти та додати перевірку
- Коли вибрано параметр Ftp, я не хочу перевірити адресу електронної пошти
Ось фрагмент HTML для адреси електронної пошти.
<div class="email-address" style="display: none;">
@Html.TextBoxFor(m => m.EmailAddress, new { @class = "longtext" })
<div id="email-validation">
</div>
I've tried all sorts but the next button validation routine always thinks the form is valid. For example.
$("form").validate({
errorLabelContainer: '#email-validation',
rules: {
EmailAddress: {
required: true
}
},
messages: {
EmailAddress: "Please enter an email address"
}
});
Any help appreciated.