Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在symfony2中创建动态表单_Php_Symfony_Symfony Forms - Fatal编程技术网

Php 如何在symfony2中创建动态表单

Php 如何在symfony2中创建动态表单,php,symfony,symfony-forms,Php,Symfony,Symfony Forms,我有一个formtype,ContactoType,此表单包含以下字段: public function buildForm(FormBuilderInterface $builder, array $options) { $builder ->add('nombre','text', array( 'attr' => array( 'placeholder' =&

我有一个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'
                )
            ))
            ;
    }
如果为true,Departmento实体有一个名为“requiresadditional”的字段,如果为false,则将显示促销昵称。这些字段被隐藏。 不知道如何获得字段值“requiresadditional”


它应该这样做吗?谢谢

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

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

您使用的是哪个版本的symfony?是的,但我需要在Contacto表单中选择的Departmento实体的“requiresadditional”值的函数中显示/隐藏。您可以使用文档中的以下示例将属性添加到EntityType中的选项字段中: