Symfony 2.8:渲染控制器(表单错误不显示)

时间:2016-12-15 23:45:24

标签: php symfony symfony-forms

我在尝试渲染一个使用formView返回模板的控制器时遇到了问题。

我了解子请求,但我很难表现出任何错误。

我认为问题在于,在看到表单无效后, redirectsToRoute 就会失去 POST 请求。

如果我不说 redirectTo ,则只会呈现视图。

base.html.twig

 {{ render(controller('AppBundle:Utility:renderSignUpWizard'), {request: app.request}) }}

实用程序控制器

   /**
     * @Route("/registration/wizard/", name="registration.wizard")
     */
    public function renderSignUpWizardAction(Request $request)
    {
        /** @var $user User */
        $user = $this->getUser();

        $form = $this->createForm(SignUpWizardType::class, $user);

        $form->handleRequest($request);

        if ($form->isSubmitted() && $form->isValid())
        {
            // save changes to user
            $this->persistAndSave($user);

            // redirect to profile
            return $this->redirectToRoute('profile');
        }
        else if($form->isSubmitted() && !$form->isValid())
        {
            return $this->redirectToRoute('home');
        }

        return $this->render('partials/signup-wizard.html.twig', array
        (
            'form' => $form->createView(),
        ));
    }

1 个答案:

答案 0 :(得分:1)

如果您可以显示您放置表单的树枝文件,我可以给出更明确的答案。检查告诉控制器渲染的树枝文件并添加以下内容:

生成表单的简单方法(不包含错误):

{{ form_errors(form) }}

添加:

{{ form_errors(form.name) }}

如果您想要特定字段的错误:

{{1}}