Symfony 2中的表单错误_bubbling?

时间:2012-04-25 19:17:43

标签: php symfony

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

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

是否有表格版本?

2 个答案:

答案 0 :(得分:3)

没有。通常,您不需要将错误冒泡到父表单。 如果要在一个位置显示所有错误,可以在模板中执行此操作。

答案 1 :(得分:1)

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

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

但是,如果您使用的是自定义表单类型,则默认情况下可以使用configureOptions

设置默认的error_bubbling
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,
        ]);
    }
}