ReapetedType字段在转储调试模式下不可用

时间:2018-06-14 12:44:25

标签: symfony4

正如你在下面的图片中看到的,当我转储$ errors对象时,我只能消耗两个子节点而不是第三个,一个RepeatType字段,我只能通过在循环中转储$ error来访问它。

任何人都有这种奇怪的行为吗?是否有一些选项可以设置为能够访问转储对象的所有子项?

bug with dump

1 个答案:

答案 0 :(得分:0)

经过几次搜索后,我发现有一个选项可以添加允许/禁用要传递给父字段或表单的字段。

它是error_bubbling选项,在Symfony \ Component \ Form \ Extension \ Core \ Type \ RepeatedType中默认设置为false

在这样的代码中:

$builder
            ->add('email', EmailType::class)
            ->add('username', TextType::class)
            ->add('plainPassword', RepeatedType::class, array(
                'type' => PasswordType::class,
                'first_options'  => array('label' => 'Password'),
                'second_options' => array('label' => 'Repeat Password'),
                'invalid_message' => 'The password fields must match.',
                'error_bubbling' => true,
            ))
        ;

但我不知道为什么默认情况下这是一个安全实践?