当模板更改时,Symfony不会显示表单提交错误

时间:2014-09-26 17:14:32

标签: symfony twig fosuserbundle

有谁知道下面这个问题的解决方案?

注意:Symfony页脚信息栏(探查器)有错误,因此系统会捕获它们。下面的模板与FOSUserBundle相吻合。

当我使用此(原始)编辑页面时,我可以在页面中看到表单验证错误:

<form action="{{ path('fos_user_profile_edit') }}" {{ form_enctype(form) }} method="POST" class="fos_user_profile_edit">
        {{ form_widget(form) }}
        <div>
            <input type="submit" value="{{ 'profile.edit.submit'|trans }}" />
        </div>
    </form>

当我使用此(修改过的)时,我无法在页面中看到表单验证错误:

    <form action="{{ path('fos_user_profile_edit') }}" {{ form_enctype(form) }} method="POST" class="fos_user_profile_edit">
    <div>{{ form_errors(form) }}</div>

    <table>
        <tr>
            <td>Username</td>
            <td>{{ form_widget(form.username) }}</td>
        </tr>
        <tr>
            <td>Email</td>
            <td>{{ form_widget(form.email) }}</td>
        </tr>
        <tr>
            <td>Current Password</td>
            <td>{{ form_widget(form.current_password) }}</td>
        </tr>
    </table>
    {{ form_widget(form._token) }}
    <input type="submit" value="{{ 'profile.edit.submit'|trans }}" />
</form>

1 个答案:

答案 0 :(得分:2)

您可以尝试在表单中设置error_bubbling。根据{{​​3}}:

If true, any errors for this field will be passed to the parent field or form. For example, if set to true on a normal field, any errors for that field will be attached to the main form, not to the specific field.

因此,如果error_bubbling设置为false(默认情况下),则应显示特定字段的错误消息,如:

<tr>
    <td>Username</td>
    <td>{{ form_widget(form.username) }}</td>
    <td>{{ form_errors(form.username) }}</td>
</tr>