4

これは私のエンティティクラスの一部です:

/**
 * @var integer
 *
 * @ORM\Column(name="student", type="integer", nullable=true)
 */
private $student;

私のフォームクラスのこの部分:

 $builder
    ->add('student', 'choice', ['label'=> false,
    'expanded' => true,
    'choices' => (Array)new StudentEnum(),
   ])
        ;

これが出力される広告:

<input id="xxxxx_0" type="radio" value="4" required="required" name="xxxxx[student]">
<label class="required" for="xxxxxV_student_0">Nie</label>

...

私の問題は、エンティティに nullable=true を設定したため、入力タグに「必須」属性を持たせないことです。

4

3 に答える 3

1

Symfony 3.0が削除されたため、代わりに以下empty_valueを使用する必要があります。placeholder

 $builder
        ->add(
              'student', 
              'choice', 
              [
                'label'=> false,
                'expanded' => true,
                'choices' => (Array)new StudentEnum(),
                'required' => false,
                'placeholder' => null
              ]
         );
于 2017-08-21T12:32:53.963 に答える