Symfony2 选择字段:空值
Symfony2 choice field : empty value
我遇到了一个非常简单的问题,但我找不到我做错了什么:
我有一个实体 Post, 可以 有一个类型,在我的 class 声明中:
/**
* @ORM\Column(name="type", type="text", nullable=true)
*/
private $type;
然后我想要一个表单来创建 Posts :
在我的 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
- 无类型
但似乎如果我选择 'No type' 选项,表单将无法验证,并且不会给出任何明确的错误。同样的事情发生在 'required' => false,'placeholder' 而不是 'empty_value',...
你能发现我的错误吗?
我做错了什么?
谢谢:)
您不能在选择字段类型上有一个空值并将其设置为必填项。
你说它一定存在但可能是空的,自相矛盾
如果您放下 'required' => true
,它将起作用
我的错误不是来自 Type 或 Entity,而是来自 twig 小部件重载。
如果 {{ value }}
为空,我不会显示 value=""
。
确保 value=""
在您的 "None" 输入单选标签内,当然,也在您的其他输入单选标签内!
希望对某人有所帮助 ;)
我遇到了一个非常简单的问题,但我找不到我做错了什么:
我有一个实体 Post, 可以 有一个类型,在我的 class 声明中:
/**
* @ORM\Column(name="type", type="text", nullable=true)
*/
private $type;
然后我想要一个表单来创建 Posts : 在我的 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
- 无类型
但似乎如果我选择 'No type' 选项,表单将无法验证,并且不会给出任何明确的错误。同样的事情发生在 'required' => false,'placeholder' 而不是 'empty_value',...
你能发现我的错误吗? 我做错了什么?
谢谢:)
您不能在选择字段类型上有一个空值并将其设置为必填项。 你说它一定存在但可能是空的,自相矛盾
如果您放下 'required' => true
我的错误不是来自 Type 或 Entity,而是来自 twig 小部件重载。
如果 {{ value }}
为空,我不会显示 value=""
。
确保 value=""
在您的 "None" 输入单选标签内,当然,也在您的其他输入单选标签内!
希望对某人有所帮助 ;)