Вот пример использования:
У меня есть эта длинная форма с группой полей, которая становится видимой, только если пользователь делает определенный выбор в одном из видимых входов.Читая пост Брэда Уилсона на эту тему, я подумал, что jQuery.validator.unobtrusive.parse ('. Extra-data'), где .extra-data - это класс скрытого div.Не повезло, поскольку данные уже были там, когда был выполнен первый анализ.
Так что в конце я придумал это, чтобы удалить правила:
$('.data-panel').find('input[type="text"], textarea, select').each(function (i, item) {
var currentRules = $(item).rules('remove'); // Saving removed rules to a sorta dictionary
if (!$.isEmptyObject(currentRules)) {
removedRules[$(item).attr("name")] = currentRules;
}
});
и это снова присоединитьих:
$('.data-panel').find('input[type="text"], textarea, select').each(function (i, item) {
if (!$.isEmptyObject(removedRules[$(item).attr('name')])) {
$(item).rules('add', removedRules[$(item).attr('name')]);
}
});
Проблема в том, что это выглядит как-то странно, так как я буквально прохожу каждое поле, удаляя и повторно присоединяя эти правила проверки.Мой вопрос: нет ли более простого пути?Производительность также является проблемой, в одной из этих огромных форм вы можете почувствовать задержку между щелчком и прогоном проверки.