我使用的是Symfony 2.3。
我在控制器中使用$this->createFormBuilder
创建了简单的订单表单。我正在验证一个Doctrine字段:
/**
* @Assert\Length(min=3)
*/
protected $name;
但是,验证失败后,我在字段附近收到重复的错误消息:
此值太短。它应该有3个字符或更多。|这个值太短。它应该有3个或更多字符。
我的这个元素的模板很简单:
{{ form_errors(form.name) }}
{{ form_label(form.name) }}
{{ form_widget(form.name) }}
除了重复的验证错误消息之外,其他所有内容似乎都按预期工作。好像多元化不会起作用。有人建议为什么会失败?
修改
似乎SonataAdminBundle正在覆盖form_errors
块。如何从非奏鸣曲控制器中删除该覆盖?
答案 0 :(得分:1)
也许奏鸣曲的模板与原始模板的最新更改不同步。
您可以在github上创建PR或问题,谢谢
答案 1 :(得分:0)
问题是我在config.yml
中设置了这个:
# Twig Configuration
twig:
debug: %kernel.debug%
strict_variables: %kernel.debug%
form:
resources:
- 'SonataAdminBundle:Form:silex_form_div_layout.html.twig'
- 'SonataFormatterBundle:Form:formatter.html.twig'
silex_form_div_layout.html.twig
覆盖form_errors
Twig阻止,删除它可以解决问题。