Symfony 2呈现表单错误,与表单字段没有关联


Symfony 2 rendering form error not associated with form field

现在我的错误主题是这样的:

{% form_theme form _self %}
{% block form_errors %}
    {% for child in form %}
        {% for error in child.vars.errors %}
            <div class="alert alert-danger fade in margin-bottom-40">
                <h4>{{ child.vars.label|trans }}</h4>
                {{ error.message|trans }}
            </div>
        {% endfor %}
    {% endfor %}
{% endblock form_errors %}

,这是很好的,直到我添加错误到整个实体,而不是特定的字段。我的验证器是这样做的:

$this->context->buildViolation($constraint->message)
              ->addViolation();

那么错误信息不显示,这是显而易见的。

我想做的是保持当前显示与字段相关的错误的模式,并添加类似于整个实体/表单的错误。你们有什么想法吗?

既然你要把违规添加到实体本身,它将在根形式上,所以要添加如下内容:

{% for errors in form.vars.errors %}
<div class="alert alert-danger fade in margin-bottom-40">
      {{ error.message|trans }}
</div>
{% endfor %}