добавление шаблона в контактную форму 7 текст - PullRequest
0 голосов
/ 30 мая 2018

У меня есть запрос, относящийся к Pattern = "[A-Za-z]", который должен быть задан в тексте * ваше имя в контактной форме 7

Когда эта форма работает, даже клиенты отправляют номера (подделка)имя) в контактной форме.Который я хочу заблокировать и позволить им только вводить там имя только в алфавитном порядке.

Заранее благодарю за предложения и идеи.

Мой текущий код для текстового тега приведен ниже.

<label> Your Name (Required)
<p>[text* your-name placeholder "Name"] </p></label>

Ответы [ 2 ]

0 голосов
/ 30 мая 2018

Вы можете использовать пользовательский фильтр для проверки

add_filter( 'wpcf7_validate_text*', 'custom_text_validation_filter', 20, 2 );

function custom_text_validation_filter( $result, $tag ) {
    if ( 'your-name' == $tag->name ) {
        // matches any utf words with the first not starting with a number
        $re = '/^[^\p{N}][\p{L}]*/i';

        if (!preg_match($re, $_POST['your-name'], $matches)) {
            $result->invalidate($tag, "This is not a valid name!" );
        }
    }

    return $result;
}
0 голосов
/ 30 мая 2018

предположим, что это поле вашей контактной формы с идентификатором 'firstname'

[text text-703 id:firstname placeholder "first name"]   

, затем поместите этот скрипт в файл footer.php или header.php, просто измените идентификатор поля.

как

<script>
    $(document).ready(function(){
        $('#firstname').keydown(function (e) {
                  if (e.shiftKey || e.ctrlKey || e.altKey) {
                      e.preventDefault();
                  } else {
                      var key = e.keyCode;
                      if (!((key == 8) || (key == 32) || (key == 46) || (key >= 35 && key <= 40) || (key >= 65 && key <= 90))) {
                          e.preventDefault();
                      }
                  }
              });
    });
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...