为什么我的选择字段仍然需要?

时间:2012-03-07 15:46:07

标签: forms symfony

我的联系人实体中有一些字段:

/**
 * @ORM\Column(type="string", length=6, nullable=true)
 * @Assert\Choice(choices = {"male", "female"})
 */
 protected $gender;

创建联系人的表单:

$builder->add('firstName')
                ->add('lastName')
                ->add('email')
                ->add('gender','choice',array(
                        'choices'   => array('male' => 'male', 'female' => 'female'),
                        'required'  => false,
                    ));

这应该导致非强制性字段AFAIK。 表格仍然告诉我,我必须选择性别。 有什么想法吗?

1 个答案:

答案 0 :(得分:3)

您必须使Assert \ Choices注释与可以为空的值兼容:

/**
 * @ORM\Column(type="string", length=1, nullable=true)
 * @Assert\Choice(choices = {"male", "female", null})
 */
 protected $gender;