2017-08-25 41 views
1

Symfony3のChoiceTypeフィールドではなく、EntityTypeフィールドで複数のチェックボックスを必須にするにはどうすればよいですか?実際には、私は使用しています:EntityTypeフィールドを使用するFormBuilderの複数のチェックボックス

use Symfony\Bridge\Doctrine\Form\Type\EntityType; 

->add('typesAdresses' , EntityType::class , array(
    'class' => 'EKUserBundle:TypeAdresse', 
    'required' => true, 
    'expanded' => true, 
    'multiple' => true, 
)); 

これは複数のチェックボックスを出力しますが、必要ではありません。

私のフォームには必須である必要があります。

答えて

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); 
     }, 
    )) 
; 

を:私はあなたが達成したいものを想定している「チェックボックスのグループにチェックを少なくとも1つのチェックボックス」 。これは別の問題であり、より完全にUsing the HTML5 “required” attribute for a group of checkboxes? で説明されています。したがって、JavaScriptを使用してこれにアプローチし、必要な属性をFormTypeに残す必要があります。

+0

私にお返事ありがとうございます。あなたが言ったように、少なくとも1つのチェックボックスをオンにしておきたい。私はjavascriptなしでそれを修正しようとしました。 – Sabra

関連する問題