Проверка формы Я использую https://jqueryvalidation.org. Я внедрил пользовательские правила проверки через свойство depend.
следующие правила проверки достоверности:
-
Если оба поля цены не выбраны, ошибка не будет отображаться.
-
если выбран один поле цены (один из обоих), ошибка проверки покажет, что пользователю нужно выбрать оба.
-
если оба выбраны, то максимальное значение цены должно быть больше минимальной цены.
найдите мой код:
в моем коде каждое условие удовлетворяет, но последнее правило означает, что максимальная цена всегда будет больше, чем минимальная цена не работает. Его проверка верна, но проверка не запускается.
здесь ссылка jsfiddle
$(document).ready(function() {
$("#form1").validate({
debug: true,
onkeyup: false,
onfocusout: false,
onclick: false,
rules: {
minrange: {
required: {
depends: function() {
var min_range = $("#min-range").find(':selected').val(),
max_range = $("#max-range").find(':selected').val();
if (min_range == "" && max_range == "") {
return false;
} else if (min_range != "" && max_range == "") {
return true;
} else if (min_range == "" && max_range != "") {
return true;
} else if (parseInt(max_range) < parseInt(min_range)) {
return true;
} else {
return false;
}
}
}
},
maxrange: {
required: {
depends: function() {
var min_range = $("#min-range").find(':selected').val(),
max_range = $("#max-range").find(':selected').val();
if (min_range == "" && max_range == "") {
return false;
} else if (min_range != "" && max_range == "") {
return true;
} else if (min_range == "" && max_range != "") {
return true;
} else if (parseInt(max_range) < parseInt(min_range)) {
return true;
} else {
return false;
}
}
}
},
},
submitHandler: function(formName, event) {
alert("sucess");
}
});
});
здесь ссылка jsfiddle