FosUser,手动创建用户

时间:2014-03-27 12:47:43

标签: ajax symfony fosuserbundle

对于我的应用程序中的特殊情况,我需要从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()之前验证用户?我需要手动检查这个电子邮件/用户名是否已经存在?

我怎样才能以更好的方式做到这一点?

1 个答案:

答案 0 :(得分:0)

您可以在findUserByEmail之前使用updateUser方法检查电子邮件是否存在:

$user = $this->get('fos_user.user_manager')->findUserByEmail($mail);