在Symfony2单选按钮选项字段上设置默认值

时间:2012-03-29 15:48:47

标签: symfony symfony-forms

我有以下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 个答案:

答案 0 :(得分:10)

如果您想要选择一个选项,empty_value将无效。

简单的解决方案是在添加表单之前为对象设置值(如$myentity->setRadiobutton(1))。 Symfony将理解并将其添加为选定值(与选择类型一起使用,因此可能与无线电相同!)

答案 1 :(得分:0)

在您的控制器newAction()

,因为$form = $this->createCreateForm($entity);添加默认值$entity->setSubmitter_is_home(1);