我正在提交一个symfony2表单,如果该实体的电子邮件字段未填写且该属性已提交为' true'我想将某个Entity属性设置为false。
我现在这样做:
$myForm = $this->createForm(new FormType(), $myEntity);
$myForm->handleRequest($request);
if ($myForm->isValid()) {
if (!$myEntity->getEmail()) {
$myEntity->setProperty(false);
}
}
我现在希望在提交表单后显示对应于该属性的复选框。但是表单中的属性复选框没有响应,它会保持检查状态。
有谁知道如何正确地做到这一点?
答案 0 :(得分:3)
我认为这是因为您的表单已经绑定到实体。表单已获取实体的数据,并且在实体更改时不会更新。您可以直接在表单上操作:
$myForm['someProperty']->setData( false );
但我希望按照你的第一行完全重建表格是更好的做法。