Zum Inhalt springen

Model-Validation Probleme in Extension nach Upgrade auf 6.2

Erstellt am 20. November 2014 · 3 Antworten · letzte Antwort am 20. November 2014

Tags: Update & Upgrade, Frage

zabinetta ·

Liebe Extbase-Checker,

ich habe ein ekliges Problem: vor gut einem Jahr hab ich eine Extension geschrieben. Angefangen habe ich mit TYPO3 6.0, und ich habe gleich FAL benutzt. Dann kam 6.1 raus, und ich habe aktualisiert, weil ich gemerkt habe, daß wir die bessere Unterstützung von FAL brauchen. (ja: es war meine erste umfangreichere Extension mit Extbase. Ich habe echt viel dabei gelernt, und ganz bestimmt auch mehrere Anfängerfehler gemacht)

Bis 6.1 lief das ding, aber bei 6.2 gibts Validierungsprobleme mit einem leider ziemlich komplexen Objekt. Erst bekam ich nur die Fehlermeldung "An error occurred while trying to call showAction()" (die listAction ging aber..)
naja, erst dachte ich es läge an irgendwas mysteriösem in der ext_localconf.php oder der ext_tables.php, z.B. den Namespaces (Vendor war noch TYPO3, und noch nicht alle Klassen waren auf Namespace.. alles schön geändert, aber das wars nicht.)

Irgendwann ist mir dann die tolle Idee gekommen, in den Comment vor der Showaction
* @ignorevalidation $dingens
einzutragen und jetzt krieg ich wieder was angezeigt, aaaaaber:
irgendwo ist der Hund drin, und ich würde das Problem gerne beheben.

Gibt es Möglichkeiten, einzugrenzen, welche Validierung das Problem erzeugt? Das dingens-Model hat mehrere umfangreiche Kinder, und ehrlichgesagt: ich habe wenig Ansätze, nach was ich gucken soll.

Gibt es übliche Verdächtige für Validierung und 6.2-Upgrade?

Viele Grüße,
Sabine

toifel · · Beste Antwort

Wenn die Action mit @ignorevalidation ausgeführt wird, dann lass dir doch mal mit dem DebuggerUtility::var_dump($dingens) das komplette "dingens" ausgeben. Anhand des Dumps findest du vielleicht schon den Fehler, wenn du mit der Deklaration in deinem Model vergleichst.

zabinetta ·

Ok. dump wird angezeigt.
Also direkt ins Auge stechen tut mir erstmal nix. (oder gibts in dem Dump überhaupt eine Kontrolle?)

Gibt es irgendwo eine Art Cheatsheet was welcher Validator akzeptiert?
sonst halt ich mich halt an das hier..
https://typo3.org/api/typo3cms/namespace_t_y_p_o3_1_1_c_m_s_1_1_extbase_1_1_validation_1_1_validator.html

Wenn ich einen Verdachtsfall habe, irgendeinen NotEmpty oder so, dann nimm ich ihn raus, lösch alle caches und probier ob es ohne ignorevalidation gehen würde, oder gibts da eine schnellere Methode?