2017-08-25 5 views
1

Comment puis-je obtenir plusieurs cases obligatoires avec le champ EntityType au lieu d'un champ ChoiceType dans Symfony3? En fait, j'utilise:Plusieurs cases à cocher FormBuilder requises à l'aide de EntityType Champ

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

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

Cela affichera plusieurs cases à cocher mais pas comme requis.

Dans ma forme il doit être requis.

Répondre

2

comportement Checkboxes est différent et vous pouvez la contourner en utilisant l'option 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); 
     }, 
    )) 
; 

Cependant: Je suppose que ce que vous voulez réaliser « au moins 1 case cochée dans un groupe de cases à cocher » . Ceci est un problème assez différent en soi et est expliqué plus en détail dans Using the HTML5 “required” attribute for a group of checkboxes? . Donc, vous devrez probablement aborder cela avec du JavaScript et laisser de côté les attributs requis dans votre FormType.

+0

merci de me répondre. comme vous l'avez dit, je veux au moins une case cochée. J'ai essayé de le réparer sans javascript. – Sabra