У меня есть несколько наборов полей min и max в форме, где пользователь может указать диапазон, заполнив min и max. Я использую плагин jQuery Validate для проверки моей формы. Я хотел бы установить правило проверки, которое гарантирует, что максимальное поле больше min. Это будет вызываться всякий раз, когда изменяются значения max или min.
Я знаю, что могу настроить какой-то базовый пользовательский метод проверки следующим образом:
$.validator.addMethod("greaterThan",
function(value, max, min){
return parseInt(value) > parseInt($(min).val());
}, "Max must be greater than min"
);
Затем добавьте правило для элемента max:
rules: {
maxTruck: {greaterThan: '#minTruck'}
}
Но это немного сложнее, потому что это применяется только тогда, когда изменяется максимальное поле, а не мин. Есть ли простой способ сделать это, не записывая метод lessThan и применяя его к полю min?
И затем еще одна вещь, которую я хотел бы решить - есть ли какой-либо простой способ, которым я могу применить это в целом, вместо того, чтобы перечислить каждое максимальное поле и к которому он привязан? Чтобы я мог просто иметь класс min и max и называть что-то вроде:
$(".max").rules('add', { greaterThan: ".min" });
И каким-то образом настройте метод, чтобы иметь возможность выяснить (возможно, на основе общего атрибута?), который min max-поле сопрягается с?
Update:
Основная логика, о которой я упоминал в этом сообщении, можно увидеть в этом jsfiddle. Тем не менее, я не очень много работал над этим - я ищу логику, чтобы в основном связывать наборы полей min и max так, как я описывал. И я не знаю, является ли это лучшим способом сделать это. Как я уже говорил, мне бы хотелось сделать это в целом, чтобы мне не приходилось ссылаться на поля min и max по id.