Установка значения по умолчанию в поле выбора переключателя Symfony2 - PullRequest
6 голосов
/ 29 марта 2012

У меня есть следующая форма Symfony2:

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

(для ясности я пропустил остальные поля).

Когда я захожу на эту форму в браузере, опция «Домой» не выбирается. Я также проверил источник, и там тоже не похоже, что установлен правильный атрибут.

Работает ли значение по умолчанию для переключателей иначе, чем для других типов полей choice? Что здесь может происходить?

Ответы [ 2 ]

10 голосов
/ 29 марта 2012

Если вы хотите, чтобы опция была выбрана, empty_value не будет работать.

Простое решение - установить значение для вашего объекта перед добавлением формы (например, $myentity->setRadiobutton(1)).Symfony поймет и добавит его как выбранное значение (работает с типом выбора, поэтому может быть одинаковым с радио!)

0 голосов
/ 28 июля 2015

в вашем контроллере newAction(), перед $form = $this->createCreateForm($entity); добавьте значение по умолчанию, подобное этому $entity->setSubmitter_is_home(1);

...