Hallo Leute!
Ich hänge aktuell bei einem (für mich noch neuen) Thema im Zuge eines TYPO3-Upgrades von v8 auf v11.5.30. Und zwar geht es um Custom Validators für das gesamte Domain Object https://docs.typo3.org/m/typo3/reference-coreapi/11.5/en-us/ExtensionArchitecture/Extbase/Reference/Domain/Validator.html#complete-domain-model-validation im Zuge einer Registrierung zum Newsletter, wo die Übertragung der Daten via API an Cleverreach erfolgt.
Ich habe den Validator wie in der Doku angegeben erstellt und dieser wird auch ausgeführt, wenn ich das Formular (URL = www.mysite.com/newsletteranmeldung) absende. Vor der createAction() im Controller habe ich die Annotation wie folgt hinzugefügt:
/**
* action create
*
* @param \MyVendor\MyForms\Domain\Model\Newsletter $newNewsletter
*
* @Validate(param="newNewsletter", validator="MyVendor\MyForms\Domain\Validator\NewsletterValidator")
* @throws NewsletterException
*/
public function createAction(\MyVendor\MyForms\Domain\Model\Newsletter $newNewsletter)
{
Im Fluid-Template (New.html + Create.html) habe ich folgenden Code zur Anzeige der Errors stehen:
<f:form.validationResults>
<f:if condition="{validationResults.flattenedErrors}">
<ul class="errors error-box">
<f:for each="{validationResults.flattenedErrors}" as="errors" key="propertyPath">
<li class="error.{propertyPath}.{error.code}">
<!--{error.code} {error}-->
<f:translate key="error.{propertyPath}.{error.code}">{error.message}</f:translate>
</li>
</f:for>
</ul>
</f:if>
</f:form.validationResults>
Nach Absenden des Formulars wird im Fehlerfall jedoch das Template Create.html aufgerufen / angezeigt (URL = www.mysite.com/newsletteranmeldung?tx_myforms_newsletterform%5Baction%5D=create&tx_myforms_newsletterform%5Bcontroller%5D=Newsletter&cHash=f92170925d69d7b7c506e2269ed6089b#to-newsletterform). Obwohl der Validator definitiv Errors (zB mit $this->addError("Suspected spam", 1239856667);
) wirft, werden im Frontend aber keine Fehler angezeigt.
Da ich noch nicht vertraut bin mit Custom Validators kann es sein, dass die Ursache ziemlich banal ist, ich sie aber nicht sehe. Sieht jemand auf Anhieb die Ursache für mein Problem und kann weiterhelfen?
Danke