Setting default value on a Symfony2 radio button choice field

13,914

Solution 1

If you want an option to be selected the empty_value will not work.

The simply solution is to set a value to your object before adding the form (like $myentity->setRadiobutton(1)). Symfony will understand and add it as a selected value (works with choice type so might be the same with radio!)

Solution 2

in your controller newAction(), befor $form = $this->createCreateForm($entity); add the default value like this $entity->setSubmitter_is_home(1);

Share:
13,914
Jason Swett
Author by

Jason Swett

Author of Code with Jason

Updated on June 11, 2022

Comments

  • Jason Swett
    Jason Swett almost 2 years

    I have the following Symfony2 form:

    public function buildForm(FormBuilder $builder, array $options)
    {   
        $builder
            ->add('submitter_is_home', 'choice', array(
                'expanded' => true,
                'choices' => array('1' => 'Home', '' => 'Away'),
                'data' => '1',
            ))  
        ;   
    }   
    

    (I omitted my other fields for clarity.)

    When I visit this form in the browser, the "Home" option is not selected. I checked the source, too, and it doesn't look like the proper attribute is set there, either.

    Does the default value work differently for radio buttons than for other types of choice fields? What could be going on here?

  • marden
    marden over 11 years
    It won't help with a form element set as 'property_path' => false.
  • altore
    altore over 10 years
    and when you have form without entity ?
  • Snroki
    Snroki over 10 years
    give an array to the form type instead of an object with as key the key in your form type and as value 1 or true (probably, didn't test it). Should do the trick
  • ZeeCoder
    ZeeCoder over 9 years
    In my case, i used a 'choise' type field called 'type', without entity. Solution: $form->get('type')->setData('default_val');