Symfony2选择字段:空值

时间:2015-07-27 08:43:12

标签: forms symfony doctrine

我绊倒了一个非常简单的问题,我无法找出我做错了什么:

我的班级声明中有一个可以有类型的实体帖子:

/**
 * @ORM\Column(name="type", type="text", nullable=true)
 */
private $type;

然后我想要一个表单来创建帖子: 在我的PostType :: buildForm()函数中:

$builder->add('type', 'choice', array(
        'empty_data' => null,
        'empty_value' => 'No type',
        'multiple' => false,
        'expanded' => true,
        'choices' => \MyBundle\Entity\Application\Post::getTypes(), /* returns array('TYPE1' => 'TYPE_1', 'TYPE2' => 'TYPE_2', ...) */
        'required' => true,))

计划是有一个收音机清单:

  • 类型1
  • 类型2
  • 类型3
  • 没有类型

但似乎如果我选择“无类型”选项,表单将不会验证,而不会给出任何明确的错误。同样的事情发生在'required'=> false,使用'占位符'而不是'empty_value',...

你能发现我的错误吗? 我做错了什么?

谢谢:)

2 个答案:

答案 0 :(得分:2)

我的错误并非来自Type或Entity,而是来自twig小部件重载。

如果value=""为空,我没有显示{{ value }}

确保value=""在你的"无"输入无线电标签,当然还有你的其他输入无线电标签! 希望它可以帮助某人;)

答案 1 :(得分:1)

您不能在选择字段类型上具有空值并且需要它。 你说它必须存在但可能是空的,这是一个矛盾。

如果放弃'required' => true

,它将起作用