2016-11-30 90 views
-1

我有型選框或一個syfmony形式。 如果未選中複選框,則數據不會傳遞到發佈操作。Symfony的形式不傳遞空值

例如,如果我有兩個ChoiceType一種形式,我不從第二個我希望在後期的行動看到的東西像

form[q1][]:4 
form[q2][]:null 
form[submit]: 

相反,我在後的行動得到任何選擇:

form[q1][]:4 
form[submit]: 

我也想在我的窗體中添加:

'required' => false, 

'empty_data' => null, 

,但仍繼續有同樣的問題。
反正如果我使用

$form->handleRequest($request) 

我得如預期值爲空的,但只是因爲沒有與窗體名稱的任何請求。
這不是我所需要的,因爲我需要使用

$form->submit($request->get($form->getName()), false); 

那麼,有沒有辦法通過也張貼空值? 謝謝。

回答

-1

你的問題不是一個Symfony的問題。相反,它是一種HTML標準行爲。只有選中的複選框和單選框纔會發佈。您可以簡單地將所有字段設置爲FALSE,並使用存在的$ _POST值覆蓋它們。 duplicate。另一種(在我看來壞的)解決方案是增加隱藏字段使用JavaScript更新它們時複選框的狀態改變

+0

這是empty_data是應該做的。我錯了嗎? – Mattia