@coverme

Как сделать валидацию номера телефона в woocommerce в таком случае?

Я добавил вот такую маску в поле ввода телефона на странице чекаута
-
jQuery(document).ready(function($){
 $("input[name='billing_phone']").mask("+7(000) 000-0000");
});


Как вообще включить проверку валидации в этом поле корректно?
Я ставил вот такое-
// Custom validation for Billing Phone checkout field 
add_action('woocommerce_checkout_process', 'custom_validate_billing_phone'); 
function custom_validate_billing_phone() { 
    $is_correct = preg_match('^((8|\+7)[\- ]?)?(\(?\d{3}\)?[\- ]?)?[\d\- ]{7,10}$', $_POST['billing_phone']); 
    if ($_POST['billing_phone'] && !$is_correct) { 
     wc_add_notice(__('The Phone field should be <strong>between 6 and 20 digits</strong>.'), 'error'); 
    } 
}


Но оно не работает корректно.Отправляет и с 3 цифрами заказ.Можно ли как то поменять этот код чтоб отправляло только цифры и не менее количества телефонного номера,т.е мин 10,макс 11 грубо говоря.
Ну или какой то другой хук юзать.Подскажите пжлста.Пробовал разные варианты,в одном из вариантов всегда указывало что поле заполнено не верно,в другом шлёт что попало (3-4цифры и ок)
  • Вопрос задан
  • 1563 просмотра
Пригласить эксперта
Ответы на вопрос 1
@RealFikus
Попробуйте DADATA. Он не только телефон будет проверять, но и окажет кучу помощи про заполнении других полей. Плагин для Wordpress имеется, работает быстро, по API.

В некоторых случаях, мешает ))). Но в основном - стандартизирует заполняемые поля в формах, как положено.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы