Я столкнулся с такой проблемой:
Мы используем плагин проверки jquery для выполнения проверок на стороне клиента. Сценарий, используемый для инициализации формы, генерируется динамически. Сама форма также генерируется динамически с использованием jTemplates и json.
Проблема в том, что мне нужно повторно инициализировать валидацию для некоторых элементов ввода и изменить размещение ошибок. Я не смог найти какой-либо метод, который бы заново ввел правила валидации и размещения ошибок в API плагина.
Я пытался сделать что-то вроде этого:
Следующий код выполняется для нескольких объектов. (SomeUniqueValue берется из этих объектов).
//removing old rules.
$("input[value='someUniqueValue']").next('input:text').rules('remove');
//I have a hidden field with unique value and an input after it so the code above is ok.
$("#someForm").validate({
errorPlacement: function (error, elementToValidate) {
var $messageElement = $("[id='theExactFieldToValidate'][value='someUniqueValue']");
//error placement logic
},
rules: {
"theExactFieldToValidate": {
required: true,
maxlength: 25
}
}
});
Перед каждым входом, который я хочу проверить, у меня есть следующее (я хочу, чтобы сообщения об ошибках отображались в этом диапазоне):
<span id="validate-theExactFieldToValidate" class="hidden" style="display:block" value="someUniqueValue"></span>
после выполнения следующего:
$("input[value='someUniqueValue']").next('input:text').rules('remove');
Элемент теряет свои правила проверки, но если я пытаюсь применить новые правила, ничего не происходит.
$("input[value='someUniqueValue']").next('input:text').rules()
Приведенный выше код просто возвращает пустой объект.
Как изменить логику проверки и размещение ошибок для отдельных входов?