Как я могу проверить правильность ввода в контактной форме 7 - PullRequest
0 голосов
/ 11 июня 2019

Я использую контактную форму 7 и создал текстовый ввод для пользователя, чтобы ввести дату. У меня в заполнителе мм / дд / гггг. В настоящее время я пытаюсь проверить этот формат в этом входе. Я пытался использовать тег даты, но в сафари это не так, поэтому я использую текстовый тег.

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

function custom_text_validation($result, $tag) {
$type = $tag->type; //object instead of array
$name = $tag->name; //object instead of array

if($name == 'last-name') {
    $value = $_POST[$date-signed];
    if(!preg_match("^((0|1)\d{1})/((0|1|2)\d{1})/((19|20)\d{2})", $value )){ //new regex statement
        $result->invalidate($tag, "Invalid Date");
    }
}
return $result;

}

Я хочу, чтобы пользователь не вводил в форму ввода правильную форму для контактной формы 7 для отображения неверной даты.

1 Ответ

0 голосов
/ 11 июня 2019

Вы можете попробовать это регулярное выражение (точнее, так как мы используем привязки в начале и в конце), и некоторые ошибки, которые вы допустили в своем регулярном выражении, исправлены

^([0]\d|[1][0-2])\/([0-2]\d|[3][0-1])\/([1][9][9]\d|[2]\d{3})$

Шаблон даты: мм /дд / гггг

Годы в этом примере должны быть между 1990 <год <2999 (вы можете отредактировать его так, как вам нужно) </p>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...