FormBuilder使用EntityType字段需要多个复选框

时间:2017-08-25 09:34:33

标签: php symfony doctrine-orm symfony-3.3

如何在Symfony3中使用EntityType字段而不是ChoiceType字段获取多个复选框?实际上,我正在使用:

Seq.tryFind

这将输出多个复选框,但不是必需的。

在我的表格中必须要求。

1 个答案:

答案 0 :(得分:2)

复选框的行为不同,您可以使用choice_attr选项解决它:

$builder
    ->add('typesAdresses' , EntityType::class , array(
        'class' => TypeAddresse::class,
        'expanded' => true,
        'multiple' => true,
        'choice_attr' => function($val, $key, $index) {
            return array('required' => true);
        },
    ))
;

然而:我认为您希望实现的目标是“在一组复选框中至少选中一个复选框”。这本身就是一个相当不同的问题,在Using the HTML5 “required” attribute for a group of checkboxes? 中有更全面的解释。所以你可能不得不用一些JavaScript来解决这个问题,并在你的FormType中省略所需的属性。