Всем привет! Есть сайт на
wordpress с установленным плагином
Contact form 7
Для ввода телефона по маске установлена библиотека
masked-input-plugin.js
Формирую ее таким образом:
$(document).ready(function () {
$('.fphone').mask('+7(999)-999-99-99');
});
Сама маска работает хорошо, но проблема возникает, когда кто-то начинает вводить скажем номер с 8ки, после этого не проверяет, а сразу нажимает кнопку отправить и в итоге телефон на почту приходит обрезанный, т.е. форма считает, что в поле все введено правильно и допускает не полное заполнение маски.
Форма все равно отправляется, даже, если задать в шорткоде задано минимальное значение символов
minlength:10[tel* your-phone minlength:10 maxlength:140]
В файле
formatting.php есть функция проверки формата записи телефона - переопределяю ее таким образом:
function wpcf7_is_tel( $tel ) {
$result = preg_match( '^\+?[78][-\(]?\d{3}\)?-?\d{3}-?\d{2}-?\d{2}$', $tel );
return apply_filters( 'wpcf7_is_tel', $result, $tel );
}
Но, в результате, каждый раз пишет "некорректный номер телефона"
Почему? И как сделать дополнительную на это проверку?
Перепробовал много вариантов, в том числе и регулярок, но пока к верному решению не пришел.
К сожалению, пока ни одна помощь не привела в итоге к правильному решению, т.к. не учитывает длину введенного запроса.