如何通过使用EntityType表单类型来避免复选框列表中的空值?

yce*_*uto 2 symfony-forms symfony symfony-validator

我有一个这样的表单字段:

$form->add('tags', EntityType:class, array(
    'class' => Tags::class,
    'multiple' => true,
    'expanded' => true,
    'required' => true,
));
Run Code Online (Sandbox Code Playgroud)

这提供了一个很好的复选框列表,我需要确保在提交表单后至少选择了一个选项,但即使required选项true不起作用,我尝试使用NotBlank()NotNull()约束,也不起作用(即表单)已验证).

如何通过使用EntityType表单类型来避免复选框列表中的空值?

Vev*_*eve 5

您可以使用Count约束.

在您的实体类中:

/**
 * @Assert\Count(
 *      min = "1",
 *      minMessage = "You must specify at least one tag"
 * )
 */
protected $tags
Run Code Online (Sandbox Code Playgroud)

请注意,您可以指定max参数和相应的消息.

此外,该required选项仅添加required到客户端的字段,它在服务器端不执行任何操作.