[Frage] Extbase forward() ignoriert @validate TYPO3-Version: 7.6.18

  • studibo studibo
    Typ im Roten Hemd
    0 x
    2 Beiträge
    0 Hilfreiche Beiträge
    03. 05. 2017, 16:58

    Hallo zusammen,

    wenn ich im Controller per forward() auf eine andere Action leite, wird mein Validator (MyOwnValidator) ignoriert.

    Hier ein Auszug des Cotrollers:

    1. /**
    2.   * action list
    3.   *
    4.   * @return void
    5.   */
    6. public function listAction() {
    7. $test = new \MyVendor\Test\Domain\Model\Test;
    8. $test->setName('Neuer Test');
    9. $this->forward('show',null,null,array('test' => $test));
    10. }
    11.  
    12. /**
    13.   * action show
    14.   *
    15.   * @param \MyVendor\Test\Domain\Model\Test $test
    16.   * @validate $test \MyVendor\Test\Validation\Validator\MyOwnValidator
    17.   * @return void
    18.   */
    19. public function showAction(\MyVendor\Test\Domain\Model\Test $test) {
    20. $this->view->assign('test', $test);
    21. }

    Ich nutze den Validator um das Objekt mit externen Daten anzureichern. Werden keine externen Daten gefunden, soll das normale error-Management greifen.

    Wenn ich statt forward() redirect() nutze, wird der Validator aufgerufen, aber damit kann ich kein Objekt, das noch nicht gespeichert ist, übergeben.

    Das ärgerliche ist, dass ich die Extension damals für TYPO3 4.5 entwickelt habe und dort der Validator bei forward() noch einwandfrei aufgerufen wurde. Ich habe es auch mit TYPO3 6.2 probiert, dort wird der Validator bei forward() auch nicht aufgerufen.

    Nun meine Frage: Kann ich TYPO3 dazu bringen, trotz forward() den Validator auszuführen?

    Danke und schöne Grüße


  • 1
  • 1