自定义表单错误 symfony 4

Ger*_*imo 4 symfony-forms symfony twig

在 Symfony 4 中,当你做类似的事情时:

<div>
    {{ form_label(form.something) }}
    {{ form_errors(form.something) }}
    {{ form_widget(form.something) }}
</div> 
Run Code Online (Sandbox Code Playgroud)

显示如下:

<div>
    <label for="form_something">Something</label>
    <ul>
        <li>This field is required</li>
        <li>Another error</li>
    </ul>
    <input type="text" id="form_something" name="form[something]" />
</div>
Run Code Online (Sandbox Code Playgroud)

我希望能够自定义错误的显示方式。

而不是这样显示:

<ul>
    <li>This field is required</li>
    <li>Another error</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

我希望它是这样的:

<div class="form-control-feedback">This field is required</div>
<div class="form-control-feedback">Another error</div>
Run Code Online (Sandbox Code Playgroud)

您阅读了此页如何自定义表单渲染,但我无法理解它是如何工作的。

任何想法?谢谢。

got*_*oto 5

该文档描述了如何全局配置错误输出

你渲染它使用

{% form_theme form 'form/form_errors.html.twig' %}

{# ... #}
{{ form_errors(form.something) }}
Run Code Online (Sandbox Code Playgroud)

文件form/form_errors.html.twig

{% block form_errors %}
    {% spaceless %}
          {% for error in errors %}
                <div class="form-control-feedback">{{ error.message }}</div>
          {% endfor %}
    {% endspaceless %}
{% endblock %}
Run Code Online (Sandbox Code Playgroud)