Кажется, что нет способа сделать это с помощью самого плагина, но несколько человек предложили использовать регулярное выражение для проверки диапазонов.
Этот ресурс демонстрирует, как добавить метод регулярных выраженийдля валидатора:
jQuery validate: Как добавить правило для проверки правильности регулярного выражения?
Я также сделал еще один шаг и написал плагин для обработкинесколько диапазонов:
$(document).ready(function() {
$.validator.addMethod(
"ranges",
function(value, element, ranges) {
var noUpperBound = false;
var valid = false;
for(var i=0; i<ranges.length; i++) {
if(ranges[i].length == 1) {
noUpperBound = true;
}
if(value >= ranges[i][0] && (value <= ranges[i][1] || noUpperBound)) {
valid = true;
break;
}
}
return this.optional(element) || valid;
},
"Please check your input."
);
$("#myform").validate({
submitHandler: function(form) {
if(form && form.submit) form.submit();
}
});
// range must be between 0 to 25 OR greater than 30
// represented as an array of size-2 arrays.
$("#age").rules('add', { ranges: [ [0,25], [31] ] });
<form id="myform" action="#">
<span>age</span><input type="text" id="age" name="age" />
<input type="submit" name="submit" value="submit" />
</form>