Проверка текстового поля с 2 условиями Контактная форма 7 - PullRequest
0 голосов
/ 16 июня 2020

Я хотел бы выполнить 2 теста в текстовом поле в форме CF7.

Во-первых: текстовое поле не содержит URL-адреса

Второе: то же текстовое поле не содержит адреса электронной почты

Я пробовал этот код:

function custom_textarea_validation_filter($result, $tag) {
$type = $tag['type'];
$name = $tag['name'];
if($name == 'yourmessage') {
$value = $_POST[$name];
if(preg_match("/\b(?:(?:https?|ftp|http):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$value)||preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,8}$#",$value)){ 

    $result->invalidate( $tag, "Merci de ne pas inclure de liens, url, ou adresse email !" );
                }
}
return $result;
}
add_filter('wpcf7_validate_textarea','custom_textarea_validation_filter', 10, 2);
add_filter('wpcf7_validate_textarea*', 'custom_textarea_validation_filter', 10, 2);

yourmessage - это текстовое поле, которое я хочу протестировать

Но это не работает: обнаруживаются url, но не адрес электронной почты .. . Я не могу создать две функции, потому что если первая оценка в порядке, вторая бесполезна.

Спасибо за любые советы. Громит

1 Ответ

0 голосов
/ 16 июня 2020
• 1000 !

Громит

...