检查电子邮件是否已存在

时间:2015-08-21 07:56:29

标签: symfony unique-constraint

我正在使用UniqueEntity类来验证电子邮件何时用于添加新用户。这在我添加新用户时工作正常,但是当我尝试使用用户输入电子邮件和密码时返回错误,表示此电子邮件已存在。如果我删除UniqueEntity,登录工作正常。

我的代码:

namespace Demo\DBBundle\Entity;

use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;

/**
 * User
 *
 * @UniqueEntity("email")
 */
class User
{
    /**
     * @var string
     *
     * @ORM\Column(name="email", type="string", length=128, nullable=false)
     */
    private $email;
}


public function loginAction(Request $request)
{
    $user = new User();
    $action = $this->generateUrl('login');
    $form = $this->createForm(new UserType(), $user, array('action' => $action));

    $form->handleRequest($request)

    if ($form->isValid()) {
        $this->redirect();
    } else {
        return $this->render('FrontBundle:User:login.html.twig', array(
            'login' => $form->createView(),
            'error' => true
        ));
    }

}

1 个答案:

答案 0 :(得分:1)

您应该使用验证组仅在注册阶段包含唯一验证。

见这里:http://symfony.com/doc/current/book/forms.html#book-forms-validation-groups