symfony2输入字段中的错误消息
-
25-10-2019 - |
题
我想在该字段中显示错误消息。我知道如何将错误消息输入字段,但是我想找到一种在重新提交后检查后检查的动态方法,如果插入的值不是错误消息本身。我使用学说注释。例如,如果字段是“标题”,则错误消息将是“标题必须填写!”。因此,标题字段不再为空,我再次单击提交,现在有效。我不想检查每个字段if $entity->getTitle() == "The title must be filled" ...
我设法在树枝和jQuery中显示未显示错误的DIV进行了操作,但是我想知道是否有更好的方法可以从控制器中执行此操作?谢谢
解决方案
您正在问如何以错误的方式正确执行某些操作...如果输入值不是您想要处理的值,那么它应该永远不会成为一个值。话虽如此,我确定您有自己的理由...
你需要听 FormEvents::BIND_CLIENT_DATA
并清除表单数据与您的错误字符串相匹配。
public function buildForm(FormBuilder $builder, array $options)
{
$builder->add('title');
$builder->get('title')->addEventListener(
FormEvents::BIND_CLIENT_DATA,
function(FilterDataEvent $event)
{
if ('The title must be filled' == $event->getData()) {
$event->setData('');
}
},
);
如果您想在全球应用此行为,则需要使用扩展的表单类型扩展名来附加此侦听器 'field'
. 。您还需要使用验证器为当前字段提供所有可能的验证错误消息,然后通过转换器将其传递,然后将结果与事件数据进行比较。
不隶属于 StackOverflow