Symfony 2 中的表单范围error_bubbling



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

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

是否有表单范围的版本?

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

如果你正确地使用了表单类型(也许不要让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,
        ]);
    }
}

最新更新