TYPO3: Extbase/Fluid form validation
Für ein Registrierungsformular mit Passwort und Passwortwiederholung haben wir 2016 eine Demo-Extension veröffentlicht: eigene Validatoren, dazu ViewHelper, die die Fehlermeldung direkt unter das jeweilige Feld schreiben und dem Feld eine CSS-Klasse geben.
github.com/svewap/extbase_fluid_form_validation
Der Code stammt aus dem Jahr 2016 und läuft nicht unverändert auf aktuellen Versionen. Das Vorgehen dahinter trägt weiter — und für den Teil, um den es damals hauptsächlich ging, bringt Fluid inzwischen einen eigenen ViewHelper mit:
<f:form.validationResults for="benutzer.passwort">
<f:for each="{validationResults.errors}" as="fehler">
<span class="feldfehler">{fehler.message}</span>
</f:for>
</f:form.validationResults>for nimmt den Pfad zur Eigenschaft und versteht dabei auch verschachtelte Pfade, as benennt die Variable um. Damit steht jede Meldung an dem Feld, zu dem sie gehört.
Der Abgleich zweier Felder — Passwort gegen Wiederholung — bleibt Sache eines eigenen Validators am Model. Dafür lohnt der Blick in die Demo bis heute.
Geprüft mit TYPO3 14: ValidationResultsViewHelper mit den Argumenten for und as.