Пользовательская проверка в текстовом поле Контактная форма 7 - PullRequest
0 голосов
/ 24 октября 2018

Я пытаюсь проверить текстовое поле, которое принимает только действительную дату, например 21-03-1980, однако код проверки не запускается, но я не вижу, что не так.

Вот код, который я использую:

function custom_dob_validation_filter($result,$tag){

    $name = $tag->name;

    if($name == 'datemdy'){

        $datemdy = $_POST['datemdy'];

        if($datemdy != '') {

            if(!preg_match('/^([0-9]{1,2})\\/([0-9]{1,2})\\/([0-9]{4})$/', $datemdy)) {

                $result->invalidate( $tag, "Please Enter a Valid Date of Birth" );

            }

        }

    }

    return $result;
}   

add_filter( 'wpcf7_validate_dob*', 'custom_dob_validation_filter', 10, 2 );
add_filter( 'wpcf7_validate_dob', 'custom_dob_validation_filter', 10, 2 );

Любая помощь будет принята с благодарностью.

TIA

1 Ответ

0 голосов
/ 24 октября 2018

После нескольких часов поиска я нашел проблему.

add_filter( 'wpcf7_validate_dob*', 'custom_dob_validation_filter', 10, 2 );
add_filter( 'wpcf7_validate_dob', 'custom_dob_validation_filter', 10, 2 );

Должен быть заменен на:

add_filter( 'wpcf7_validate_text*', 'custom_dob_validation_filter', 10, 2 );
add_filter( 'wpcf7_validate_text', 'custom_dob_validation_filter', 10, 2 );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...