microphone 2170045 1920

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;
}

Bitte Kommentarfunktion nicht für Supportanfragen nutzen. Dem kann hier nicht entsprochen werden. Die Angabe einer E-Mail-Adresse und eines Namens ist nicht erforderlich. Einen (Spitz)-Namen zu nennen wäre aber doch nett.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Hinweis: Sowohl angegebener Name als auch E-Mail-Adresse (beides ist optional, dafür werden alle Kommentare vor Veröffentlichung geprüft) werden dauerhaft gespeichert. Du kannst jeder Zeit die Löschung Deiner Daten oder / und Kommentare einfordern, direkt über dieses Formular (wird nicht veröffentlicht, und im Anschluss gelöscht), und ich werde das umgehend erledigen. – Mit hinterlassenen Kommentaren hinterlegte IP-Adressen werden nach zwei Monaten automatisch gelöscht