symfony表格嵌入其他表格,如何达到form_errors/validation.message

symfony form embeding other forms, how to reach form_errors/validation.message

我在 Symfony3 上遇到问题,无法显示带有嵌入其他表单的表单的 {{ form_errors([formname.field]) }} 消息。

我在 GitHub 上删除了一个 symfony 项目来解释我的问题: https://github.com/nyluje/symfony_test_form_embedded

您会在其中找到:

在文件的顶部 \app\Resources\default\index。hmtl.twig:

{{ form_start(form_a) }}
    {{ form_label(form_a.field1) }}
    {{ form_widget(form_a.field1) }}
    {{ form_errors(form_a.field1) }}
{{ form_end(form_a) }}

{{ form_start(form_c) }}
    {{ form_label(form_c.FormA.field1) }}
    {{ form_widget(form_c.FormA.field1) }}
    {{ form_errors(form_c.FormA.field1) }}

    {{ form_label(form_c.FormB.field1) }}
    {{ form_widget(form_c.FormB.field1) }}
    {{ form_errors(form_c.FormB.field1) }}
{{ form_end(form_c) }}

如果您使用值 "j@j" 提交表单 A,您将得到: 错误信息 "This value is not a valid email address" 清晰显示。

现在,如果您在两个字段中提交值为 "j@j" 的表单 C:

不显示错误信息"This value is not a valid email address"。

有谁知道为什么在 FormC 的情况下不显示错误消息?

默认情况下,验证不会遍历对象或集合的属性。使用 valid constraint:

http://symfony.com/doc/current/reference/constraints/Valid.html

您也可以为集合设置遍历选项。