Использую совместно два плагина:
- Masked Input Plugin - digitalbush.com/projects/masked-input-plugin/
- jQuery Validation Plugin - jqueryvalidation.org
Первый плагин использую для задания шаблона для поля "
телефонный номер".
Формат шаблона и плейсхолдер:
$('#phone_field').mask('+7 (999) 999 - 99 - 99', {
placeholder: '_'
});
В результате в поле отображается шаблон: "
+7 (___) ___ - __ - __", с возможностью ввода только цифр.
Второй плагин использую для валидации поля с параметром
required (обязательное поле) и
minlength (минимальное количество символов):
phone: {
required: true,
minlength: 10
}
В параметре
maxlength (максимальное количество символов) нет необходимости, так как оно ограничивается шаблоном плагина Masked Input.
Очевидно проверку нужно делать по параметру
minlength.
Однако, при проверке поля плагином jQuery Validation, поле с телефонным номером помечается как "
валидное", даже когда не было введено никаких значений.
Происходит это, судя по всему, потому что проверке подвергаются так же и сами символы шаблона, которых более чем
minlenght: 10.
Подскажите пожалуйста, возможно ли както исключить из проверки плагином jQuery Validation символы шаблона?
p.s.: Допускается вынос символов "
+7" из шаблона. Их можно разместить перед полем.
p.p.s.: Так же, есть вариант, использовать параметр
digits: true (условием проверки будут только цифры) плагина jQuery Validation. Но в этом случае, поле всегда будет "
невалидно", так как значение поля содержит помимо цифр символы шаблона ("
+", "
(", "
)", "
-", " ").