如何显示具有嵌套表单的表单的所有错误

时间:2016-12-13 13:31:29

标签: php symfony twig symfony-forms

如何在Twig中显示Symfony 2.8中嵌套表单的表单的所有错误消息? 我不是指单个特定字段的单个错误消息 - 我的意思是这样的: (这是来自symfony的官方文件 - 但它不起作用 - 我认为它不起作用,因为我有嵌套表格)

{% block form_errors %}
    {% spaceless %}
        {% if errors|length > 0 %}
        <ul>
            {% for error in errors %}
                <li>{{ error.message }}</li>
            {% endfor %}
        </ul>
        {% endif %}
    {% endspaceless %}
{% endblock form_errors %}

这是我构建表单的方式:

/**
     * @param FormBuilderInterface $builder
     * @param array                $options
     */
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        parent::buildForm($builder, $options);

        $builder
            ->add(
                'text',
                new OtherType(OtherType::class),
                array(
                    'label'              => 'page.richtext.text',
                    'translation_domain' => 'entities',
                    'required'           => false,
                )
            );
    }

是否有一些方法或函数可用于显示来自包含其他嵌套formTypes的symfony formType的所有错误消息 - ?

2 个答案:

答案 0 :(得分:1)

在此表单的twig文件中,添加以下行以显示错误:

{{ form_errors(form) }}

答案 1 :(得分:1)

在您的子表单中添加error_bubbling optionselect a,b,c,d,e from t group by a,b,c,d,e; ,以获取父表单中的错误。