Symfony2 set Entity свойство после формы submit / validation

Я представляю форму symfony2, и я хотел бы установить для определенного свойства Entity значение false, если поле электронной почты для этого объекта не было заполнено и это свойство было отправлено как «истина».

Я делаю это сейчас:

$myForm = $this->createForm(new FormType(), $myEntity); $myForm->handleRequest($request); if ($myForm->isValid()) { if (!$myEntity->getEmail()) { $myEntity->setProperty(false); } } 

Теперь я ожидаю, что флажок, соответствующий свойству, будет снят, когда форма будет показана после отправки. Но флажок свойства в форме не отвечает на это, он остается установленным.

Кто-нибудь знает, как это сделать правильно?

Я думаю, это потому, что ваша форма уже привязана к сущности. Форма принимает данные объекта и не обновляется при изменении объекта. Вы можете напрямую работать с формой:

 $myForm['someProperty']->setData( false ); 

но я надеюсь, что лучше всего полностью восстановить форму снова в соответствии с вашей первой строкой.