У меня есть форма, запрашивающая ввод данных пользователем для начальной и конечной длины, и она может повторяться на странице разное количество раз, в зависимости от того, сколько разделов пользователь хочет вставить. Я пытаюсь добавить некоторую проверку.Я добавил собственный метод валидатора в функцию, которую я вызываю onChange любого поля, чтобы проверить, что длина конца больше, чем начальная, и она работает.
Когда пользователь вызывает на странице вторую форму,метод ломается и перестает работать;кажется, что оно содержит любое сообщение об ошибке, которое оно имеет в данный момент, и независимо от того, что я изменяю, оно сохраняется, если я не выйду за границы диапазона, которые все еще проверяются правильно.
В теге input есть это в обоих полях: onchange="validateTheForm(this.form);"
Вот код в моем файле .js, я вызываю его в форме каждый раз при изменении ввода:
var validateTheForm = function(theForm) {
$.validator.addMethod("endGreaterThanBegin", function(value, element) {
return parseInt($('#endPoint').val(), 10) > parseInt($('#startPoint').val(), 10);
}, "End Point Should be Greater than Start");
$(theForm).validate({
rules: {
startPoint: {
required: true,
range: [0, 100]
},
endPoint: {
required: true,
range: [1, 100],
endGreaterThanBegin: true
}
}
});
return true;
}
Я думал, что это может быть проблема с попыткой добавитьметод снова и снова, но это происходит каждый раз, когда я изменяю любое поле в первой форме и никогда не ломается.Мне интересно, связано ли это с установкой переменной, связанной с первой формой, когда метод создается, и никогда не обновляет их до новых форм.