скрипт проверки для форм гравитации, который может обнаружить присутствие номера 1 или +1 в первой позиции телефонного номера - PullRequest
0 голосов
/ 06 мая 2019

Я дизайнер и не очень много программист. вот моя проблема

Мне нужен сценарий проверки для Gravity Forms, который может обнаружить присутствие номера 1 или +1 в первой позиции телефонного номера, а затем вернуть ошибку и представить следующее сообщение:

Пожалуйста, используйте следующий формат. НЕ добавляйте 1 перед номером телефона. XXX-XXX-XXXX

Я нашел этот скрипт проверки телефона, но мне нужно отредактировать его по приведенному выше правилу.

add_filter( 'gform_field_validation', 'validate_phone', 10, 4 );
function validate_phone( $result, $value, $form, $field ) {
    $pattern = "/^(\+44\s?7\d{3}|\(?07\d{3}\)|\(?01\d{3}\)?)\s?\d{3}\s?\d{3}$/";
    if ( $field->type == 'phone' && $field->phoneFormat != 'standard' && ! preg_match( $pattern, $value ) ) {
        $result['is_valid'] = false;
        $result['message']  = 'Please enter a valid phone number';
    }

    return $result;
}

С уважением,

1 Ответ

0 голосов
/ 10 мая 2019

Вот скрипт, который вы можете использовать для соблюдения правил, изложенных выше. Это позволит только отправить форму, которая не имеет 1 в первой позиции. Также требуется, чтобы поле телефона содержало не более И не менее 10 цифр, и оно будет выдавать ошибку, если какие-либо введенные символы не являются числом. Надеюсь, это поможет.

add_filter( 'gform_field_validation', 'validate_phone', 10, 4 );
function validate_phone( $result, $value, $form, $field ) {
 $pattern = "/^(?!1)[0-9]{10}$/";
 if ( $field->type == 'phone' && !preg_match( $pattern, $value ) ) {
  $result['is_valid'] = false;
  $result['message']  = 'Please enter your phone number in the following format: 2125551212';
 }

 return $result;
}
...