【发布时间】:2012-12-03 14:45:05
【问题描述】:
我的 Symfony 模型有一个布尔字段,但也接受 NULL,因此有效地是一个三态值。
如何为此编写小部件? Symfony 自动生成一个 sfWidgetFormCheckbox 但是 不能设置为NULL。
我尝试了 sfWidgetFormChoice,但我必须将值指定为字符串才能使它们工作:
$this->setWidget('wt', new sfWidgetFormChoice(array(
'choices' => array(true => 'true', false => 'false', null => 'null')
)));
它适用于存储值,但每当我保存“假”值时,选择会跳回“空”。我尝试了 'false'、'0'、'' 等的几种组合,但在所有三种情况下都没有任何效果。
有什么想法吗?
【问题讨论】:
-
您是否尝试过
'null' => 'null'并创建了一个自定义验证器来查找字符串null并返回正确的值?
标签: symfony1 widget symfony-1.4 propel symfony-forms