Zum Inhalt springen

Fehler im Action-Validator einem Argument zuweisen

Erstellt am 4. August 2011 · 1 Antwort · letzte Antwort am 4. August 2011

Tags: Frage

Unbekannter Benutzer ·

Ich habe eine Extension für Benutzerregistrierung und -bearbeitung. Bei der Registrierung muss der Benutzername auf existenz überprüft werden, bei der Bearbeitung natürlich nicht mehr. Es sind alle Validatoren im Domänenmodell (d.h. für jede Member-Variable) registriert, den Benutzernamen-Validator muss ich allerdings als Action-Validator registrieren (da dieser nur bei der create-Action ausgeführt werden darf). Die Fehlermeldungen werden mit einem ViewHelper (siehe Code unten) direkt neben den Feldern mittels propertyName ausgegeben. Mein Problem ist nun, dass Domänenmodell-Validatoren einem propertyName zugewiesen werden (siehe Tx_Extbase_MVC_Controller_ArgumentsValidator), dies will ich auch im Action-Validator machen, bloß wie?

<f:form.errors for="{objectName}">
	<f:if condition="{0:error.propertyName} == {0:'{propertyName}'}">
		<span class="error"><f:translate key="error.{error.propertyName}.{error.errors.0.code}" htmlEscape="false">Not translated: [{error.errors.0.message} ({error.errors.0.code})]</f:translate></span>
	</f:if>
</f:form.errors>
Unbekannter Benutzer · · Beste Antwort

In der Methode addErrorsForProperty() der Klasse Tx_Extbase_MVC_Controller_ArgumentsValidator ist der Code zum Setzen enthalten - Thema erledigt. 😉