现在我的错误主题是这样的:
{% 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 %}