how to create dynamic form in symfony2

I have a formtype, ContactoType, this form contain the next fields:

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'
                )
            ))
            ;
    }

The Departamento entity has a field named "requiresadditional" if this is true, and promotion nickname will be displayed, if false they are hidden. Do not know how you could get the field value "requiresadditional"...

As it should do this?Thank!

Upvotes: 1

Views: 1161

Answers (2)

holzi
holzi

Reputation: 62

You should test your Departamento entity in a FormEvent. Read the documentation about FormEvents here.

Upvotes: 1

Benoît
Benoît

Reputation: 602

Usually i add all the field to my symfony form and I display / hide the field by using simple javascript event.

Upvotes: 0

Related Questions