我正在尝试验证控制器中的字段 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);
我在哪里做错了?