RE: Как сделать в плагине Contact Form 7 проверку телефонного номера?

Answered

В популярном плагине Contact Form 7 (у меня стоит версия Версия 3.8) в конструкторе полей (при создании новой контактной формы) есть поле "Номер телефона". Как мне сделать в этом поле проверку номера телефона: ввел человек цифры или буквы, ввел ли он полный номер телефона и т.д. Что нужно указывать в настройках этого поля "Номер телефона" чтобы сделать валидацию номера телефона?

RE: Как сделать в плагине Contact Form 7 проверку телефонного номера?

oron Сторонник Asked on 11.12.2014 in Плагины.
Add Comment
4 Answers

Сделать валидацию телефонного номера в Contact Form 7 можно с помощью небольшого хука.
Сделайте в конструкторе полей телефонный номер как обычное "текстовое поле". Оно будет иметь название, похожее на "text-123" (эти цифры и нужно подставить в код ниже. Теперь открываем файл functions.php текущей темы и вставляем код:


function wpds_validate_phone($result, $tag) {

$field_name = $tag['name'];

if ($field_name == 'text-123') { // Указываем имя поля для телефонного номера

$tel = preg_replace('/\D/', '', $_POST[$field_name]);

if (strlen($tel) != 12) {

$result['valid'] = false;

$result['reason'][$field_name] = 'Пожалуйста, введите корректный телефонный номер. Например, 375 (29) 111-22-33';

}

}

return $result;

}

add_filter('wpcf7_validate_text', 'wpds_validate_phone', 10, 2);

add_filter('wpcf7_validate_text*', 'wpds_validate_phone', 10, 2);

Скрипт проверяет валидность телефона, при этом пользователь может указать символы "-", "/" - разделения цифр, но если он указал неполный номер телефона (12 цифр), то валидация не будет пройдена.

 

ГУРУ Answered on 11.12.2014.
Add Comment

Your Answer

By posting your answer, you agree to the privacy policy and terms of service.