13

这就是我目前在表单上激活错误的方式:

public function buildForm(FormBuilder $builder, array $options)
{
    $builder
        ->add('title', null, array('error_bubbling' => true))
        ->add('content', null, array('error_bubbling' => true))
    ;
}

有表格范围的版本吗?

4

2 回答 2

4

不。一般情况下,您不需要将错误冒泡到父表单。如果您想在一个地方显示所有错误,您可以在模板中执行此操作。

于 2012-04-25T19:51:29.970 回答
1

如果您正确使用表单类型(也许不要让 symfony 猜到),那么默认情况下您应该得到错误冒泡,如下所示:

http://symfony.com/doc/current/reference/forms/types/text.html#error-bubbling

但是,如果您使用的是自定义表单类型,那么您可以默认设置默认的 error_bubblingconfigureOptions

final class CustomFormType extends AbstractType
{
    /** {@inheritdoc} */
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        ...
    }

    /** {@inheritdoc} */
    public function configureOptions(OptionsResolver $resolver)
    {
        $resolver->setRequired('label');
        $resolver->setDefaults([
            'error_bubbling' => false,
            'compound' => true,
        ]);
    }
}
于 2016-04-20T08:36:03.127 回答