Ein wirklich gutes Formular nimmt die Nutzer an die Hand und
schützt sich gleichzeitig selbst vor falschen Eingaben.
Nutzerführung verbessern
Hilfreiche Platzhalter (Placeholder) und durchdachte Standardwerte setzen.
Layout beeinflussen über Klassen und individuelle Templates.
Eingaben steuern
Pflichtfelder definieren,
Min-/Max-Werte festlegen und
Schrittweiten (Steps) vorgeben.
#01.3
#01
Lust auf mehr Details?
Für die vertiefende Recherche lohnt sich ein
Blick in das offizielle Benutzerhandbuch ;-)
Dort findet sich ein ausführliches, praxisnahes Kapitel rund um den Formulargenerator, mit allen Feldtypen
und Validierungen Schritt für Schritt im Detail.
CSRF Fehler; ungültiges Anfrage-Token?!
Zuverlässige Formulare vor maximalem Cache.
Einsetzen
Wenn Formularseiten direkt aufgerufen werden und nicht scheitern dürfen.
Seiten, die ein Formular enthalten, werden vom Shared Cache ausgenommen und immer frisch ausgeliefert.
Verzichtbar
Wenn die Formulare praktisch nur über die interne Navigation erreicht werden.
Contao AdvancedForm
Oveleon
AdvancedForm sorgt für eine gezielte Benutzerführung und erleichtert Ihren Kunden die Dateneingabe Schritt für Schritt.
www.oveleon.de/advancedform.html
Extended Form Fields
INSPIRED MINDS
Praktische Zusatzfunktionen wie Zeichenzähler, Wortfilter, bedingte Feldanzeige für Mitgliedergruppen und individuelle Fehlermeldungen.
github.com/inspiredminds/contao-extended-form-fields
Ein Blick in die Contao Extensions lohnt sich immer!
Hier lässt sich gezielt nach passenden Formular-Modulen suchen: Ob mehrseitige Abfragen, digitale Signaturfelder, erweiterte Validierungen oder bedingte Anzeigen – die große Auswahl bietet für jeden Zweck die richtige Funktion.
Wenn Standard-Lösungen an ihre Grenzen stoßen, kommen spezialisierte Erweiterungen ins Spiel.
Dynamische Feldgruppen
Formularfeldgruppen lassen sich zur Laufzeit vervielfältigen – ideal für wiederholbare
Eingabebereiche wie Teilnehmerlisten oder Produktvarianten.
Komplexe Abhängigkeitsstränge
Auch hochkomplexe, verschachtelte Abhängigkeiten zwischen Feldern bleiben kontrollierbar und wartbar
– selbst bei tiefen Bedingungsstrukturen.
#03.1Dynamische Feldgruppen (./trilobit-gmbh/...)
contao-multiformgroup-bundle
Maximale Flexibilität für komplexe Datenstrukturen.
Einfache Skalierung
Ganze Abschnitte (z. B. Vorname, Nachname, E-Mail) lassen sich durch den Nutzer duplizieren.
Saubere Übermittlung
Die eingegebenen Daten werden strukturiert aufbereitet und verarbeitet.
Optimale UX
Keine überflüssigen, leeren Felder für Nutzer, die nur einen Eintrag machen – aber volle Kapazität
für Mehrfacheingaben.
Daten & Benachrichtigung
Verarbeitung nach dem Absenden
#04
Und Abflug!
Was passiert nach dem Klick auf „Senden"? Die richtige Verarbeitung ist entscheidend.
Daten speichern
Eingaben lassen sich direkt in der Contao-Datenbank persistieren – strukturiert, durchsuchbar und
für weitere Verarbeitung bereit.
Benachrichtigen, ...
Professionelle Benachrichtigungen an Admins und Nutzer: personalisierte E-Mails,
verschiedene Transportwege und bedingte Auslösung – alles zentral verwaltet.
Speichere Formular-Daten ganz flexibel als Tabelleneinträge in deiner Datenbank – entweder als Ergänzung
oder als Alternative zum E-Mail-Versand. Über die Zieltabelle ordnest du jedes Formularfeld der passenden
Datenbankspalte zu und behältst so die volle Kontrolle über deine Daten.
#04.1Daten speichern (./terminal42/...)
contao-leads
Mit dieser Erweiterung speicherst du Contao-Formulardaten zentral als Leads – inklusive Unterstützung für
mehrsprachige Formulare und Unterformulare.
Strukturierte Datenerfassung
Speichert Formulardaten als Leads (ideal auch für mehrsprachige Formulare)..
Natives Handling
Vollständig konfigurierbar direkt im Contao-Formulargenerator.
Individueller Export
Maßgeschneiderter Export der Leads.
Alle Uploads automatisch in einem ZIP zusammenfassen.
Flexible
Individuelle Dateinamen und Ablageorte: Der Dateiname kann über Simple-Tokens individualisiert
werden.
Kompatibel mit dem Contao-Standard-Uploader oder terminal42/contao-fineuploader.
Volle Kontrolle
Automatisches Aufräumen der einzelnen Uploads und/oder erzeugten ZIPs.
Kompatibel mit dem terminal42/notification_center.
Ausgabe des Dateinamens oder als Download-Link.
Wenn es richtig individuell wird, lohnt sich der Blick in den Code.
Eigene Validierungen
Individuelle Prüflogik als PHP-Klasse – flexibel einsetzbar und wiederverwendbar über verschiedene
Formulare hinweg.
Hooks nach dem Absenden
Formulardaten über Hooks abfangen, individuell weiterverarbeiten oder an Drittsysteme wie CRM, ERP,
... übergeben.
#05.1Eigene Validierungen
Maßgeschneiderte Datenprüfung nach deinen Regeln
Standard-Validierungen reichen oft nicht aus: Mit eigenen Validierungen stellst du sicher, dass eingegebene
Daten exakt deinen Anforderungen entsprechen.
// src/EventListener/ValidateFormFieldListener.php
namespace App\EventListener;
use Contao\CoreBundle\DependencyInjection\Attribute\AsHook;
use Contao\Form;
use Contao\Widget;
#[AsHook('validateFormField')]
class ValidateFormFieldListener
{
public function __invoke(
Widget $widget,
string $formId,
array $formData,
Form $form
): Widget
{
if ('myform' !== $form->formID || 'foobar' !== $widget->name) {
return $widget;
}
$foo = new bar($input);
if (!$foo->Verify()) {
$widget->addError($GLOBALS['TL_LANG']['ERR']['foobar']);
}
return $widget;
}
}
#05.2Hooks nach dem Absenden
Maximale Automation direkt nach dem Absenden
Mit Submit-Hooks klinkst du dich nahtlos in den Prozess direkt nach dem Formularversand ein. Ob Daten an
externe APIs übergeben, individuelle Datenbank-Einträge, ... Alles ist möglich.
// src/EventListener/ProcessFormDataListener.php
namespace App\EventListener;
use Contao\CoreBundle\DependencyInjection\Attribute\AsHook;
use Contao\Form;
#[AsHook('processFormData', priority: 100)]
class ProcessFormDataListener
{
public function __invoke(
array &$submittedData,
array $formData,
array|null $files,
array $labels,
Form $form
): void
{
// do somthing
}
}
#05.2Hooks nach dem Absenden
„Do What I Want“
Benachrichtigungen
...
DMS
Dropbox, einfache Ablage im Dateisystem, ...
Payment
Unzer, PayPal, ...
CRM
...
Exporte
...
Inhalte
„neue Veranstaltung melden“, ...
...
...
...
...
#05.2... (trilobit-gmbh)
Dokumente as a Service
Erzeuge individuelle Dokumente genau dann, wenn sie gebraucht werden. Ob strukturierte Excel-Tabellen
(XLSX), bearbeitbare Word-Dokumente (DOCX) oder druckfertige PDFs: System- und Formulardaten in
maßgeschneiderte Dokumente verwandeln.