Forms 我是否可以通过某种方式将参数从控制器传递到$form->;createView()?

Forms 我是否可以通过某种方式将参数从控制器传递到$form->;createView()?,forms,symfony,controller,twig,formbuilder,Forms,Symfony,Controller,Twig,Formbuilder,我可以通过控制器访问FormView类吗? 我需要在出现错误时更改输入的占位符 这就是我尝试访问它的方式:(不工作) 这更像是关于我可以从控制器访问$form->createView()FormView类吗?您可以尝试: dump($form->getErrors()); exit(); 您应该使用exit(),因为它将停止程序 倾销(…);退出() 它的工作原理与Laravel中的dd()类似。您可以在细枝中这样做: {{ form_widget(form.username, {'a

我可以通过控制器访问FormView类吗? 我需要在出现错误时更改输入的占位符

这就是我尝试访问它的方式:(不工作)

这更像是关于我可以从控制器访问
$form->createView()
FormView类吗?

您可以尝试:

dump($form->getErrors());
exit();
您应该使用exit(),因为它将停止程序

倾销(…);退出()


它的工作原理与Laravel中的dd()类似。

您可以在细枝中这样做:

{{ form_widget(form.username, {'attr': {'placeholder': form.username.vars.valid ? 'enter a username' : 'your error message'}})) }}
但是,即使用户名无效,也不会显示带有错误消息的占位符,因为如果出现错误,输入将用您键入的文本填充。信息技术 只有在清空输入时才能看到它

所以,我认为你想做的事没有意义。

可以这样做

//AnyController.php
return $this->render('registration/register.html.twig', [
            'registrationForm' => $form->createView(),
                [
                    'children' => [
                        'password' => [
                            'vars' => [
                                'attr' => [
                                    'placeholder' => $form->isValid() ? 'valid placeholder' : 'invalid placeholder',
                                ],
                            ],
                        ],
                    ],
                ]

            ]
        );

在您的问题中。如果您所做的只是尝试验证密码,那么只需使用。我编辑了我的帖子,我想从控制器更改密码占位符。这是Symfony。
//AnyController.php
return $this->render('registration/register.html.twig', [
            'registrationForm' => $form->createView(),
                [
                    'children' => [
                        'password' => [
                            'vars' => [
                                'attr' => [
                                    'placeholder' => $form->isValid() ? 'valid placeholder' : 'invalid placeholder',
                                ],
                            ],
                        ],
                    ],
                ]

            ]
        );