Php Symfony2复合表单,将错误与字段关联
我有一个嵌入表单,其中component和inherit_数据选项设置为truePhp Symfony2复合表单,将错误与字段关联,php,forms,symfony,Php,Forms,Symfony,我有一个嵌入表单,其中component和inherit_数据选项设置为true public function buildForm(FormBuilderInterface $builder, array $options) { $builder->setErrorBubbling(false); $builder->add('date_start', 'date', array( 'label' => 'form.d
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
]);
}
我无法将错误与字段关联。此表单的错误显示在父表单上,而不是字段上。我在文档中看到,除非表单是复合的,否则错误\u冒泡可能是假的
使用复合形式的解决方案是什么,以使错误与字段关联
感谢您使用Symfony中的复合表单-您可以为复合关系中的每个实体定义验证约束,验证期间产生的任何错误都将显示在发生错误的表单元素上方/附近 例如,如果您发布的表单示例绑定到“ExampleEntity”实体,您可以在bundle的validation.yml中为该实体定义验证约束。任何验证错误都将显示在其各自的子窗体旁边-即使在多个子窗体上可能发生验证错误的集合中也是如此 示例src/MyBundle/Resources/Config/validation.yml
App\MyBundle\Entity\ExampleEntity:
properties:
date_start:
- NotBlank:
message: Date start cannot be blank.
date_end:
- NotBlank:
message: Date end field cannot be blank.
time_zone:
- NotBlank:
message: Timezone cannot be blank.
我的表单中有一个继承的字段存在此问题。我无法在验证例程中以继承表单的名称为目标。错误总是出现在根窗体上。再多的更改错误\u冒泡或其他设置对我都不起作用。