0

我已经创建了 extbase 扩展,出于某种原因,我需要在创建操作中手动创建对象。

我的创建动作看起来像这样,

/**
* action create
*
* @return void
*/
public function createAction() {
$newObj = new \TYPO3\Myext\Domain\Model\Modelname();
$newObj->setMyval('value');
$this->myrepository->add($newObj);
}

这里的问题是即使我在模型中提到@validate NotEmpty,它也没有验证要求字段、验证码等。那么如何对手动创建的对象进行验证呢?它应该抛出错误以形成开箱即用的功能。谢谢你。

4

2 回答 2

0

开箱即用验证仅在根据您的控制器操作签名从 GET/POST 参数构造模型对象时触发。

于 2013-09-13T04:33:00.867 回答
0

它应该看起来像这样:

   /**
    * action create
    * @param \TYPO3\Myext\Domain\Model\Modelname $newObject
    * @return void
    */
    public function createAction(\TYPO3\Myext\Domain\Model\Modelname $newObject) {
        $this->myrepository->add($newObj);
    }

查看extension_builder,创建一个模型并为您生成新/创建操作。这将为您提供有关创建操作以及呈现表单的新操作的一个很好的示例。

于 2013-09-13T19:54:31.987 回答