@ligisayan

Как запретить отправлять обрезанный номер телефона через contact form 7?

Всем привет! Есть сайт на 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 );
}

Но, в результате, каждый раз пишет "некорректный номер телефона"

Почему? И как сделать дополнительную на это проверку?

Перепробовал много вариантов, в том числе и регулярок, но пока к верному решению не пришел.

К сожалению, пока ни одна помощь не привела в итоге к правильному решению, т.к. не учитывает длину введенного запроса.
  • Вопрос задан
  • 569 просмотров
Пригласить эксперта
Ответы на вопрос 1
nefone
@nefone
Junior PHP разработчик
Можно дополнительно добавить JavaScript проверку на заполнения поля в браузере.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы