我有一个这样的表单字段:
$form->add('tags', EntityType:class, array(
'class' => Tags::class,
'multiple' => true,
'expanded' => true,
'required' => true,
));
这会呈现一个不错的复选框列表,我需要确保在提交表单后至少选择了一个选项,但即使required
选项为true
它也不起作用,我试过使用NotBlank()
和NotNull()
约束时,也不起作用(即表单有效)。
如何使用EntityType
表单类型避免复选框列表中的空值?
答案 0 :(得分:5)
您可以使用Count constraint。
在您的实体类中:
/**
* @Assert\Count(
* min = "1",
* minMessage = "You must specify at least one tag"
* )
*/
protected $tags
请注意,您可以指定max
参数和相应的消息。
此外,required
选项仅在客户端的字段中添加required
,它在服务器端不执行任何操作。