这就是我目前在表单上激活错误的方式:
public function buildForm(FormBuilder $builder, array $options)
{
$builder
->add('title', null, array('error_bubbling' => true))
->add('content', null, array('error_bubbling' => true))
;
}
有表格范围的版本吗?
不。一般情况下,您不需要将错误冒泡到父表单。如果您想在一个地方显示所有错误,您可以在模板中执行此操作。
如果您正确使用表单类型(也许不要让 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,
]);
}
}