7

Symfony2 でフォームのエラーメッセージをカスタマイズする方法を理解するのを手伝ってくれませんか? HTML レイアウトを変更したり、div やクラスなどを追加したい...

ガイドを読むと、と呼ばれるファイルに配置するコードが提供されますfields_errors.html.twigが、このファイルを配置する場所と、追加の構成が必要かどうかはわかりません。

誰か助けてくれませんか?

4

3 に答える 3

5

テンプレートをResourses/views/バンドルのフォルダーに配置する必要があります。例えば、

{# Vendor/YourBundle/Resourses/views/form_fields.html.twig #}

{% extends 'form_div_layout.html.twig' %}

{% block form_errors %}
    {# your form error template #}
{% endblock form_errors %}

{# other customized blocks #}

次に、フォーム ページ テンプレートで、

{% extends your:page:layout %}

{% form_theme form  'VendorYourBundle::form_fields.html.twig' %}

 {{ form_errors(form.field) }}
 {# ..... #}

その他のオプションと実装のリファレンスについては、フォーム テーマのクックブック エントリデフォルト フィールド レイアウトの実装を確認してください。

于 2012-08-25T16:20:25.410 に答える
1

テンプレートですべてのエラーメッセージを一度にカスタマイズできます。

<div class="your_new_class">
    {{ form_errors(form) }}
</div>

または個別に(たとえば、フィールドがタイトルの場合)

<div class="your_new_class">
    {{ form_errors(form.task) }}
</div>
于 2012-08-25T14:55:02.637 に答える
1

symfony3 では、最初に config.yml のテーマ フォームを呼び出します。

twig:
debug:            "%kernel.debug%"
strict_variables: "%kernel.debug%"
form_themes: 
    - 'YourBundle:FormTheme:error.html.twig'

小枝 error.html.twig の例

{% block form_errors %}
{% spaceless %}
    {% if errors|length > 0 %}
   <div class="alert alert-danger">
        {% for error in errors %}
     <strong>{{ error.message }}</strong>
        {% endfor %}
    </div>
    {% endif %}
{% endspaceless %}
{% endblock form_errors %}
于 2016-11-16T17:25:30.050 に答える