Zurück zur Übersicht

Contact Form 7 : Formularfelder validieren und eigene Fehlermeldungen ausgeben

Contact Form 7 ist ein einfach zu bedienendes Formularplugin, das die verschiedensten Einstellungsmöglichkeiten bietet. Leider kann man im Backend keine Validierungsnachrichten für einzelne Felder anlegen.

In der letzten Aktualisierung vom 26.1.2015 wurde der Plugin-Code, der für die Validierung verantwortlich ist, überarbeitet. Daher funktionieren die zahlreichen Lösungen im Netz nicht mehr, insofern sie für eine Plugin-Version kleiner als 4.1 geschrieben wurden.

Hier eine Lösung für die neueste Version (Contact Form 4.1). Wir nehmen aus Gründen der Einfachheit an, dass wir ein obligatorisches Feld vom Typ „tel“ angelegt haben. Wir prüfen, ob die Eingabe rein numerisch ist, und geben ggfs. eine spezifische Fehlermeldung zurück.

 

 

Erklärung:

  1. Wir müssen unsere Filter-Funktion mit einer Priorität von 9 (oder niedriger) registrieren, um der Plugin-eigenen Validierung zuvorzukommen.
  2. Wir überprüfen mit is_numeric(), ob es sich um eine rein numerische Eingabe handelt. Ab PHP 5.2 ist auch filter_input() denkbar:
  3. Wir übergeben im Fehlerfall eine eigene Meldung an die Methode invalidate() des Validierungs-Objektes $result.

Weitere Filter für zusätzliche Feldtypen sind:

Der Asterisk (*) hinter der Filternamen bezieht sich auf obligatorische Felder. Wollen wir also beispielsweise ein Textfeld prüfen, dessen Eingabe aber nicht obligatorisch ist, so verwenden wir wpcf7_validate_text.

 

Schreibe einen Kommentar