我有一個布爾型字段,我把它作爲選擇字段放入(是或否)。 我會得到0或1沒有數據轉換器。 我添加了一個視圖BooleanToStringTransformer(這似乎合理的):Symfony2形式BooleanToStringTransformer問題
$builder
->add(
$builder->create('myBooleanField', 'choice', array(
'choices' => array(true => 'Yes', false => 'No'),
))
->addViewTransformer(new BooleanToStringTransformer('1'))
)
,當我嘗試顯示窗體,我得到的錯誤「需要一個布爾值。」。 雖然在創建表單之前我的字段設置爲false。
我試圖將它設置爲模型轉換器:表單顯示,但是當我提交它時,我的字段被聲明爲無效。
我在做什麼錯?
編輯:我現在差不多了。
- 我使用的模型變壓器,而不是一個視圖變壓器(選擇現場工作人員用繩子或整數,而不是布爾值)
- 我改變了我的選擇名單從
array(true => 'Yes', false => 'No')
到array('yes' => 'Yes', 'no' => 'No')
因此,代碼現在看起來像->addModelTransformer(new BooleanToStringTransformer('yes'))
除了我的字段總是設置爲true,無論我選擇什麼值,數據轉換的工作原理都是如此。
怎麼了?
不能布爾值作爲標準化的數據?順便說一句,BooleanToStringTransformer是Symfony窗體核心擴展的一部分,我沒有實現它。 – Nanocom