Symfony 2.3文档说可以自定义全局表单错误(出现在表单顶部且与特定字段无关的错误)。
http://symfony.com/doc/current/cookbook/form/form_customization.html#customizing-error-output
“您还可以为一个特定字段类型自定义错误输出。例如,某些对表单更全局的错误(即不仅仅针对一个字段)将单独呈现,通常位于表单顶部......“
他们接着说:
“要仅自定义用于这些错误的标记,请按照上述相同的说明进行操作,但现在调用block form_errors”
我很困惑他们在谈论什么。似乎他们之前的指令已经调用了块“form_errors”,所以我不确定有什么不同。
如何自定义全局表单错误(单个表单字段错误应保持不变)?
答案 0 :(得分:1)
该页面上的措辞令人困惑。我也必须阅读几次,感觉应该有更多的信息。提供的示例显示了如何检查错误是“复合”错误(对于整个表单)还是仅针对单个字段的错误。
这是我的块看起来的样子:
{% block form_errors %}
{% if errors|length > 0 %}
<ul class="alert alert-warning {% if compound %}formError{% else %}formInputError{% endif %}">
{% for error in errors %}
<li>{{ error.message }}</li>
{% endfor %}
</ul>
{% endif %}
{% endblock form_errors %}
如果它是复合形式,则将类呈现为formError
,如果它仅用于输入,则呈现formInputError
。这让我的样式略有不同,具体取决于它们是出现在页面顶部还是出现在输入上方。如果需要,您还可以将它们完全分开。