我编写了一个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);
}
在这里,我想验证是否存在相同的用户名或电子邮件。 我怎样才能做到这一点 ? 有什么建议 ? 谢谢。
答案 0 :(得分:1)
您不需要将$newUser
绑定为操作的参数,而只需使用$this->request->hasArgument('something')
和$this->request->getArgument('something')
读取一些字段以自行验证属性,并创建新的{{ 1}}手动对象就像。
user
如果请求中没有有效的public function createAction() {
$newUsers = new \TYPO3\Usermanagement\Domain\Model\Users();
// do something with $newUsers object...
$this->usersRepository->add($newUsers);
}
对象,它不会抛出异常,因此它允许您根据需要处理表单错误。
它还允许您在保存之前使用一些预处理,即哈希/盐渍密码。