我有一个表单'错误冒泡的问题.我的表单中的一个字段定义如下:
$formBuilder->add('title','text',
'required' => true,
'error_bubbling' => false,
)
)
Run Code Online (Sandbox Code Playgroud)
我想在这个字段中添加这样的验证器:
/**
* @Assert\True(message = "Bad title.")
*/
public function getTitleCorrect()
{
/* ... */
return false;
}
Run Code Online (Sandbox Code Playgroud)
它工作正常,但错误消息显示在窗体的顶部,而不是在字段行中.
在Twig模板中,此错误消息由{{form_errors(form)}}全局错误呈现.当我使用时{{form_errors(form.title)}},它不会打印我的错误.
我该怎么做才能更改错误的分配?
仅当验证程序附加到相应的属性时,才会将消息附加到字段.您的验证器附加到类的方法,因此错误确实是全局的.
你应该这样:
use ...\TitleValidator as AssertTitleValid;
class MyEntity
{
/**
* @AssertTitleValid
*/
private $title;
}
Run Code Online (Sandbox Code Playgroud)
并创建自己的TitleValidator类.