对于我的应用程序中的特殊情况,我需要从ajax请求手动注册用户。
所以,首先我用ajax发送我的所有数据:firstname, lastname, mail, password etc...
给我的控制器。
现在,在那之后,我只是在我的控制器中:
$firstname = $request->get('firstname');
$lastname = $request->get('lastname');
$mail = $request->get('mail');
$password = $request->get('password');
$userManager = $this->get('fos_user.user_manager');
$user = $userManager->createUser();
$user->setUsername($firstname.$lastname);
$user->setPlainPassword($password);
$user->setEmail($mail);
$user->setFirstname($firstname);
$user->setLastname($lastname);
$userManager->updateUser($user);
但我的问题是,如何在updateUser()
之前验证用户?我需要手动检查这个电子邮件/用户名是否已经存在?
我怎样才能以更好的方式做到这一点?
答案 0 :(得分:0)
您可以在findUserByEmail
之前使用updateUser
方法检查电子邮件是否存在:
$user = $this->get('fos_user.user_manager')->findUserByEmail($mail);