【发布时间】:2014-03-25 10:44:03
【问题描述】:
我有一个更新单个用户的表单,ID 是在 url 中传递的。我已登录,并且有一个列出注册用户的菜单(带有属性用户名)。
此属性不应为空,但是当我更新实体并将用户名字段留空时,它会在我的菜单中更新,但我不知道为什么。我有消息告诉用户名字段不应留空,$form->isValid() 返回 false。
谁能告诉我一些关于这个的事情?以及如何解决问题? (或者至少给我一些建议)
这是我的控制器的代码:
public function editAction($id)
{
$em = $this->getDoctrine()->getManager();
$user = $em->getRepository('TasksUserBundle:User')
->findWithTasks($id);
if (!$user) {
throw $this->createNotFoundException('Cet utilisateur n\'extiste pas');
}
$form = $this->createForm(new UserType(), $user);
$form->handleRequest($this->get('request'));
if ($form->isValid()) {
$em->flush();
$this->get('session')->getFlashBag()->add('success', 'Vos données ont été enregistrées');
return $this->redirect($this->generateUrl('tasks_user_view', ['id' => $id]));
}
return $this->render(
'TasksUserBundle:User:view.html.twig', [
'form' => $form->createView(),
'user' => $user
]
);
}
控制器用于在我的菜单中检索我的用户列表:
public function userMenuAction()
{
$users = $this->getDoctrine()
->getRepository('TasksUserBundle:User')
->findAll();
return $this->render(
'TasksUserBundle:User:menu.html.twig', [
'users' => $users,
'route' => $this->get('request')->get('route'),
'user_id' => $this->get('request')->get('id')
]
);
}
如果我需要添加一些信息,请告诉我
【问题讨论】: