Woocommerce Checkout Индийский номер мобильного телефона - PullRequest
0 голосов
/ 07 декабря 2018

Я добавил этот код для проверки номера мобильного телефона в поле проверки woocommerce, и регулярное выражение также работает нормально, но здесь возникает небольшая проблема 1) Когда клиент вводит неправильный номер мобильного телефона, wp_add_notice не печатал сообщение об ошибке для клиента 2) Когдаклиент вводит правильный номер мобильного телефона, после чего появляется сообщение об ошибке, и клиент переходит к другим способам оплаты Сводка: он не печатает сообщение об ошибке для неправильного номера мобильного телефона, который я хочу.

// 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('/^[6-9]\d{9}$/', $_POST['billing_phone']);
    if ( $_POST['billing_phone'] && !$is_correct) {
        wc_add_notice( __( 'The Mobile No. should be <strong>10 digits with starting 6,7,8,9</strong>.Try Again.' ), 'error' );
    }
}

1 Ответ

0 голосов
/ 07 декабря 2018

По моему мнению, нет необходимости переопределять стандартные поля Woocommerce или использовать проверку Javascript.Вы можете добавить пользовательскую проверку, которая будет добавлена ​​к проверке поля телефона выставления счетов по умолчанию в Woocommerce, подключившись к действию, инициированному после отправки заказа.

Это код, который я только что реализовал для клиента.

// 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('/^[0-9]{6,20}$/', $_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' );
    }
}

Конечно, вместо моего preg_match вы можете проверить что-нибудь еще и настроить свой условный код в соответствии со своими потребностями.

Вы также можете добавить пользовательскую проверку для других полей по умолчанию, отметив справа $ _POSTпеременная, или ваши собственные поля извлечения, конечно, после того, как вы их правильно настроили, но это уже другая тема:)

Надеюсь, это поможет.

...