Setting default value on a Symfony2 radio button choice field
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);
Comments
-
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 over 11 yearsIt won't help with a form element set as 'property_path' => false.
-
altore over 10 yearsand when you have form without entity ?
-
Snroki over 10 yearsgive 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 over 9 yearsIn my case, i used a 'choise' type field called 'type', without entity. Solution: $form->get('type')->setData('default_val');