2017-08-25 71 views
1

需要FormBuilder多個複選框我該如何需要多個複選框用的EntityType場,而不是ChoiceType場Symfony3?其實,我正在使用:使用的EntityType場

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

感謝回覆我。就像你說的我希望至少有一個複選框被選中。我試圖解決它沒有JavaScript。 – Sabra