FOSUserBundle在控制器中验证电子邮件

时间:2013-08-07 16:22:32

标签: symfony fosuserbundle symfony-2.3

我正在尝试验证控制器中的字段fosuserbundle。 我正在传递请求中的值而不使用表单(我使用的是jquery插件x-editable)。到目前为止,我已经尝试过这种方式,但即使它无效或空,它也会保存我的电子邮件:

    $userId = $request->get('pk');
    $value = $request->get('value');

    $em = $this->getDoctrine()->getManager();
    $user = $em->getRepository('AcmeUserBundle:User')->find($userId);
    if (!$user) {
        throw $this->createNotFoundException('Unable to find Products entity.');
    }
    $user->setEmail($value);

    $validator = $this->container->get('validator');
    $errors = $validator->validate($user, array('profile'));

    if (count($errors) > 0) {
        return new Response(print_r($errors, true), 400);
    }

    $this->container->get('fos_user.user_manager')->updateUser($user);       

    return new Response('', 200);

我在哪里做错了?

1 个答案:

答案 0 :(得分:4)

FOSUserBundle使用“Profile”作为验证组而不是小写“profile”。

查看验证配置herehere