0

我写了一个 extbase 插件,它从前端表单创建 FE 用户。

创建动作是这样的

/**
* action create
*
* @param \TYPO3\Usermanagement\Domain\Model\Users $newUsers
* @return void
*/
public function createAction(\TYPO3\Usermanagement\Domain\Model\Users $newUsers) {
    $this->usersRepository->add($newUsers);
}

在这里,我想验证相同的用户名或电子邮件是否已经存在。我怎样才能做到这一点 ?有什么建议么 ?谢谢你。

4

1 回答 1

1

您不需要将 a 绑定$newUser为操作的参数,而是可以使用$this->request->hasArgument('something')$this->request->getArgument('something')自己读取一些字段来验证属性,并user像手动创建新对象一样。

public function createAction() {
    $newUsers = new \TYPO3\Usermanagement\Domain\Model\Users();
    // do something with $newUsers object...
    $this->usersRepository->add($newUsers);
}

如果请求中没有有效user对象,它不会抛出异常,因此它将允许您根据需要/需要处理表单的错误。

它还允许您在保存之前使用一些预处理,即散列/加盐密码。

于 2013-06-29T07:33:53.300 回答