如何在symfony2中创建动态表单

时间:2016-02-11 08:20:50

标签: php symfony symfony-forms

我有一个formtype,ContactoType,这个表单包含下一个字段:

public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('nombre','text', array(
                'attr' => array(
                    'placeholder' => 'contacto.nombre'
                )
            ))
            ->add('departamento', 'entity', array(
                'label' => "Departamentos",
                'class' => 'ProductosBundle:Departamento',
                'property' => 'nombre'
            ))
            ->add('fechaEvento', 'birthday',array(
                'input' => 'datetime',
                'widget' => 'single_text',
                'format' => 'dd-MM-yyyy',
                'attr' => array(
                    'placeholder' => 'DD-MM-YYYY',
                    'class' => 'form-control')))
            ->add('promocion','text', array(
                'attr' => array(
                    'placeholder' => 'contacto.promocion'
                )
            ))
            ->add('apodo','text', array(
                'attr' => array(
                    'placeholder' => 'contacto.apodo'
                )
            ))
            ->add('file','file', array(
                'attr' => array(
                    'placeholder' => 'contacto.fichero'
                )
            ))
            ;
    }

Departamento实体有一个名为"要求附加"如果这是真的,将显示促销昵称,如果为false则隐藏它们。 不知道如何获得字段值"需要额外的" ...

应该这样做吗?谢谢!

2 个答案:

答案 0 :(得分:1)

您应该在FormEvent中测试您的Departamento实体。阅读有关FormEvents here的文档。

答案 1 :(得分:0)

通常我将所有字段添加到我的symfony表单中,并使用简单的javascript事件显示/隐藏字段。