2017-08-16 35 views
0

我打電話,形成每一個路線,所以不是所有的時間做的事:Symfony的FormEvents出現錯誤

$form = $this->get('form.factory')->createNamed(UserType:class); 
$form->handleRequest($request); 

我把它從樹枝UserRegister.html.twig

{{ render(controller('AppBundle:Security:register')) }} 

和樹枝:

{% if form.vars['errors'] is not empty %} 
    {{ form_errors(form) }} 
{% endif %} 

{{ form_start(form) }} 
{{ form_end(form) 

對它的控制:

public function registerAction(Request $request) 
{ 
    $form = $this->get('form.factory')->createNamed('register', UserType::class); 
    $form->handleRequest($request); 
    if ($form->isSubmitted() && $form->isValid()) { 
     $em = $this->getDoctrine()->getManager(); 
     $em->persist($form->getData()); 
     $em->flush(); 
     $em->clear(); 
     return $this->redirectToRoute('app.homepage'); 
    } 
    return $this->render('@site_forms/UserRegister.html.twig', ['form' => $form->createView()]); 
} 

那麼最大的問題是什麼? 錯誤,它只會顯示窗體! 錯誤應該返回此當前頁面!

+0

究竟是什麼問題? – yceruto

+0

我更新了代碼 – geticlone2017

回答

0

看來你只是在!isValid()情況下渲染窗體的樹枝。也許它來自這裏?

您可以使用$this->redirectToRoute($request->get('_route')來始終重定向到當前頁面。

+0

請告訴問題是否是這個問題。 –