microphone 2170045 1920
Bild von Florante Valdez auf Pixabay

Benutzerdefinierte Validierung für Contact Form 7 Formularfeld

Der Filter für die Inhaltsprüfung eines Formularfeldes bezieht sich auf den Typ. Hierbei ist zu unterscheiden, ob es sich um ein Pflichtfeld handelt oder nicht. Es macht also einen Unterschied, ob man auf wpcf7_validate_text prüft oder wpcf7_validate_text*.

Auf diese Weise kann ein bestimmten Feldtyp global geprüft werden, ober aber innnerhalb der Funktion ein Feldname explizit angesprochen werden. if ( 'name-des-zu-validierenden-feldes' == $tag->name ).

Im nachfolgenden Beispiel sollen in einem bestimmten Pflicht-Textfeld nur Kleinbuchstaben und Ziffern erlaubt sein.

add_filter( 'wpcf7_validate_text*', 'username_validation_filter', 20, 2 );
 
function username_validation_filter( $result, $tag ) {
    if ( 'wp-username' == $tag->name ) {
        $username = isset( $_POST['wp-username'] ) ? trim( $_POST['wp-username'] ) : '';
        if ( !preg_match ('/^[a-z0-9]/', $username ) ) {
            $result->invalidate( $tag, "Bitte nur Kleinbuchstaben und Ziffern verwenden" );
        }
    }
 
    return $result;
}

Kommentar schreiben

E-Mail-Adresse wird nicht veröffentlicht.

Overlay background for modal content