Forms Symfony2表单验证-如何仅显示每个字段的第一条错误消息

Forms Symfony2表单验证-如何仅显示每个字段的第一条错误消息,forms,validation,symfony,Forms,Validation,Symfony,我有一个包含验证规则集的字段: /** * @var integer * * @ORM\Column(name="options", type="integer") * @Assert\NotBlank() * @Assert\Min(limit = "1381", message = "Please provide number higher than 1381") * @Assert\Regex(pattern = "/^\d{4}$/" , message = "Four di

我有一个包含验证规则集的字段:

/**
 * @var integer
 *
 * @ORM\Column(name="options", type="integer")
 * @Assert\NotBlank()
 * @Assert\Min(limit = "1381", message = "Please provide number higher than 1381")
 * @Assert\Regex(pattern = "/^\d{4}$/" , message = "Four digits are expected")
 */
private $options;
有时Symfony似乎在检查每个断言(好的)并呈现视图中的每个错误(不期望的)。提交选项为5的表单后,我看到了下面的错误消息

Options
- Please provide number higher than 1381
- Four digits are expected
但当我发送选项=null时,只显示一条错误消息

Options
- This value should not be blank.
是否存在导致模板中只呈现一条错误消息的“开关”?我希望在我的表单中每个字段只有一条错误消息

=======编辑========
作者:伯恩哈德·舒塞克

Patt谢谢你给我指出那里

一个选项是修改模板/块以获得表单错误块(这样模板中的每个表单都将获得所需的行为)。或替代上的窗体布局

如果您去查看Symfony标准版附带的,您可以在
表单上看到错误
twig
已定义

您可以在给定模板中覆盖此块(根据文档),以便仅从
错误
数组中回显一个元素:

{#SomeTemplate:默认值:index.html.twig}
{%extends':base.html.twig%}
{%form\u主题form\u self%}
{%block form_errors%}
{%spaceless%}
{%如果错误|长度>0%}
{{错误[0]。消息}
{%endif%}
{%endspaceless%}
{%endblock form_errors%}
{%block content%}
{#…呈现表单#}
{{form_rest(form)}
{%endblock%}

一个很好的方法是按照symfony form guru@Bernhard的建议使用:)这是我需要的技巧-请键入答案让我投票。谢谢你的帮助,不用担心这个节日。这是一个很难回答的问题。也许你可以对他的答案进行投票并编辑你的问题,这样人们就可以链接到Bernard的答案:)错误|如果有错误,长度将始终为1,如果没有错误,长度将始终为0。因此,即使您有2个错误(2个有错误的字段)-您将得到字段{{id}}的always count==1。我的建议是使用JS并隐藏1个以上的错误