Field for form field Symfony 2 required = false?

This is part of my entity class:

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

This part of my form class:

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

Ad is displayed:

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

...

My problem is that my input tag should not have the required attribute because I set nullable = true to the entity.

+4
source share
3 answers

Solution => false and empty_value => false required

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

As described herein ,

required
type: Boolean default: true

requiredThe default value for the parameter is set to true, so you must set it to false.

builder->add('student', 'choice', array(
          'label'=> false,
          'expanded' => true,
          'required' => false,
          //...
   ))
;

In addition, you can read from the documentation, which

. , Symfony , .

, , , .

, .

+4

Since Symfony 3.0 is empty_valuedeprecated, and you need to use placeholder instead:

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

All Articles