我在这里有一个简单的问题,因为我无法弄清楚我做错了什么或Symfony2 Forms
组件不能始终如一地工作。方案如下:
ChoiceType
“子”类型]的表单,其中包含一些预定义值我期望发生的事情:
$data
参数[0-7] 实际发生的事情:
['expanded' => false]
,则它对两个显示都有效(选择第一个值[0] - 可能是因为它是第一个)和提交(0正在提交)['expanded' => true]
,则不会选择任何值开始,并且提交表单也不会提交任何值。有人可以解释一下如何选择单选按钮吗?如果没有提交,我可以使用empty_data
设置值,但是初始表单显示怎么办?根据{{1}}进行选择(对于选择框和单选按钮)是完美的。
我也不能使用empty_value
选项,因为它会覆盖传递给表单的任何数据(参见上面的第2点)以及提交的数据。
@EDIT
我想避免两件事:
答案 0 :(得分:0)
我不确定你的问题。 要管理表单默认值,您只需要设置映射对象的属性。
例如:
$formObject->child->attributeDefault = "defaultValue";
if($hasPreference) {
$formObject->child->attribute1 = "preferenceDefautlValue"
}
$form = $this->createForm(new YourFormType(), $formObject);
$form->handleRequest($request) //overide default value by submitted one