我有以下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
字段的工作方式不同?可能会发生什么?
答案 0 :(得分:10)
如果您想要选择一个选项,empty_value
将无效。
简单的解决方案是在添加表单之前为对象设置值(如$myentity->setRadiobutton(1)
)。 Symfony将理解并将其添加为选定值(与选择类型一起使用,因此可能与无线电相同!)
答案 1 :(得分:0)
newAction()
中,因为$form = $this->createCreateForm($entity);
添加默认值$entity->setSubmitter_is_home(1);