Php Symfony2复合表单,将错误与字段关联

Php 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

我有一个嵌入表单,其中component和inherit_数据选项设置为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
    ]);
}
我无法将错误与字段关联。此表单的错误显示在父表单上,而不是字段上。我在文档中看到,除非表单是复合的,否则错误\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冒泡或其他设置对我都不起作用。