问题描述
我可以通过控制器以某种方式访问 FormView 类吗? 我需要出错才能更改输入的占位符。
这就是我尝试访问它的方式:(不起作用)
//AnyController.PHP
return $this->render('registration/register.html.twig',[
'registrationForm' => $form->createView(),[
'children' => [
'password' => [
'vars' => [
'attr' => [
'placeholder' => 'Paswordeeeeee',],]
]
);
This is what I am trying to access,I got this with dd($form->createView());
这更像是一个关于我可以从控制器访问 $form->createView()
FormView 类的一般问题吗?
解决方法
你可以像这样在树枝上做:
{{ 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',],]
]
);
,
你可以试试:
dump($form->getErrors());
exit();
你应该使用 exit() 因为它会停止程序。
转储(...);退出()
它会像 Laravel 中的 dd() 一样工作。