0
我有一個表單來更新單個用戶,ID在URL中傳遞。我登錄後,我有一個菜單列出了註冊用戶(使用用戶名)。 此屬性不應該爲空,但當我更新實體並將用戶名字段留空時,它將在我的菜單中更新,但我不明白爲什麼。我有消息告訴用戶名字段不能留空,$form->isValid()
返回false。Symfony2 - 具有表單錯誤的更新實體
有人可以告訴我關於這方面的一些情況嗎?以及如何解決這個問題? (或者至少給我一些建議)
這裏是我的控制器代碼:
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')
]
);
}
告訴我如果我需要添加一些信息
是的,以清楚地看到用戶在哪裏出錯。但我真正的問題是爲什麼當我編輯該用戶時(在表單中出現錯誤)我的菜單中的用戶名發生更改並且ORM沒有任何內容被刷新? – Flohw