Вы могли посмотреть Инструменты GNU , они обеспечивают (среди других вещей) sed на окнах.
Поскольку (в настоящее время) нет встроенного метода для этого, вам нужно добавить свой собственный метод. Это могло бы сработать:
jQuery.validator.addMethod("exactlength", function(value, element, param) {
return this.optional(element) || value.length == param;
}, $.validator.format("Please enter exactly {0} characters."));
Которую затем можно было бы использовать следующим образом:
$("#formtovalidate").validate({
rules: {
somefield: {
exactlength: 10
}
});
Меня спросили, как это работает. Я не знаю всех подробностей; Я смоделировал этот метод на основе ранее существовавших. Однако это моя лучшая попытка объяснить это.
значение
, элемент
и параметр
.
значение
- это значение, введенное в проверяемое поле элемент
- это само поле param
- это все, что идет после типа правила и двоеточия. В приведенном выше примере это 10 в точная длина: 10
return
. Это вернет окончательный вердикт метода проверки к коду, который его вызвал. Любой метод проверки, возвращающий true
, говорит: «это поле прошло проверку!» Он вернет значение строки, в которой находится. return
следуют два объявления, разделенных оператором «или» ( ||
).
||
означает «оценить элемент слева от этого. Если это правда, верните истину. Если нет, попробуйте тот, что справа. Если это правда, верните истину. В противном случае верните false.
this.optional (element)
. Если элемент не требуется в ваших правилах, это вернет истину, как и проверка. Это означает: «Если я не скажу вам, что это поле является обязательным, меня не волнует, проверяется ли оно». ||
]. Это собственно валидационный тест. Он сравнивает длину ввода поля с указанной вами длиной. Если они совпадают, возвращается истина, метод возвращает истину и проверка проходит. В противном случае проверка не удалась. Вот и все. Для получения дополнительной помощи см. Документацию , особенно часть о пользовательских методах проверки .