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

How to display all errors for a form with nested 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,
                )
            );
    }

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

在您的这种形式的 twig 文件中添加此行以显示错误:

{{ form_errors(form) }}

在您的子表单类型中添加 error_bubbling option 并将其设置为 true 以获取父表单中的错误。