我有一個包含以下字段的表學說:Symfony窗體:保存包含複選框和/或選項的窗體?
Article:
columns:
title:
type: string(40)
content:
type: string(255)
publish:
type: boolean
我創造了我的網站上創建文章的自定義窗體。在我的自定義表格中,我有一個publish
字段的複選框。提交表單時,如果複選框被選中,表單值將返回爲「on」。如果複選框未被選中,表單值不存在。
因爲我正在使用擴展Doctrine模型表單的表單,所以我希望能夠在通過有效性時簡單地執行$this->form->save();
。
但是,如果publish
的複選框只給出值on
或者什麼都不是,那麼這兩個值都不適用於數據庫。該表格可以正確保存,但publish
的數據庫值始終只是默認值,無論該複選框是否被選中。
這個問題的正確方法是什麼?
另外,你如何處理選擇sfWidgets?傳遞的值是一組值。 $this->form-save()
似乎忽略這些數組。
您是否需要手動從表單中獲取值並從值中創建一個Doctrine Collection並將其保存起來?或者Symfony希望您使用更好的方法嗎?
明天我會粘貼一些東西。你應該爲複選框設置一個驗證器嗎?它要麼被檢查,要麼不被檢查。它怎麼會有什麼不同?有什麼要驗證的? –