【发布时间】:2013-12-13 09:58:18
【问题描述】:
我有一个嵌入表单,其中的 Compound 和 inherit_data 选项设置为 true。
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->setErrorBubbling(false);
$builder->add('date_start', 'date', array(
'label' => 'form.date_start.label',
'widget' => 'single_text',
'required' => false,
'group' => ['event', 'dates']
));
$builder->add('date_end', 'date', array(
'label' => 'form.date_end.label',
'widget' => 'single_text',
'required' => false,
'group' => ['event', 'dates']
));
$builder->add('time_zone', 'alternate_timezone', [
'label' => 'form.timezone.label',
'field_help' => 'form.timezone.help',
'empty_value' => 'form.timezone.empty_value',
'required' => false,
'group' => ['event', 'dates']
]);
}
/**
* {@inheritdoc}
*/
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults([
'label' => false,
'compound' => true,
'inherit_data' => true
]);
}
我无法将错误与我的字段相关联。此表单的错误显示在父表单上,而不是字段上。我在文档中看到,除非表单是复合的,否则 error_bubbling 可能是错误的。
复合表单出现与字段相关的错误的解决方案是什么?
谢谢
【问题讨论】:
-
我的表单中有一个继承的字段存在这个问题。我无法在验证例程中定位继承表单的名称。错误总是冒泡到根表单。更改 error_bubbling 或其他设置对我来说没有任何效果。