![](/img/trans.png)
[英]Symfony 3 form : display old inputs values in twig after submitting a form with invalid values
[英]Symfony form : old values are displayed after saving
我有一個帶有許多復選框的symfony表單:
$this->form = new SocialSettingsForm($user);
if ($request->isMethod(sfRequest::POST)) {
$this->form->bind($request->getParameter('social'));
if ($this->form->isValid()) {
$this->form->save();
$this->success = true;
}
}
問題如下:保存表單后,復選框動作異常
如果用戶選中了一個,則在保存后顯示為選中狀態(正常行為);但是,如果用戶未選中一個,則在保存后仍將顯示為選中狀態。
我在表單值上做了var_dump,未選中的復選框具有NULL值,所以我不明白為什么仍要選中它們。
謝謝你的幫助。
如果使用布爾值/整數字段來保存復選框值,則將sfValidatorBoolean用作復選框。 還將輸入值轉換為有效的布爾值。 因此null將轉換為0並將保存在數據庫中。
解決方法更新
在不起作用的較舊版本中,可以在復選框之前添加與復選框名稱相同且值為0的隱藏輸入。 如果未選中該復選框,則將發送隱藏的輸入值,否則將發送該復選框的值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.