Symfony 5 форма не отправляется, когда список содержит заполнитель - PullRequest
0 голосов
/ 03 мая 2020

У меня есть форма с различными списками, такими как:

 $builder
      ->add('seatsNumber', ChoiceType::class, [
                                                        'placeholder' => 'choose.number.seats.placeholder',
                                                        'choices' => [
                                                                        '1.seat.choice' => 1,
                                                                        '2.seats.choice' => 2,
                                                                        '3.seats.choice' => 3,
                                                                        '4.seats.choice' => 4,
                                                                        '5.seats.choice' => 5,
                                                                        '6.seats.choice' => 6,
                                                                        '7.seats.choice' => 7,
                                                                        '8.seats.choice' => 8,
                                                                        '9.seats.choice' => 9,
                                                                        '10.seats.choice' => 10
                                                                     ],
                                                        'attr' => [
                                                                    'class' => 'select'
                                                                  ],
                                                        'label' => 'seats.number.label',
                                                        'multiple' => false,
                                                        'required' => true
                                                      ]
                 )

Это сгенерированное HTML:

<select id="vehicle_seatsNumber" name="vehicle[seatsNumber]" required="required" class="select form-control" tabindex="-1">
  <option value="" selected="selected">Choose the number of seats</option>
  <option value="1">1 seat</option>
  <option value="2">2 seats</option>
  <option value="3">3 seats</option>
  <option value="4">4 seats</option>
  <option value="5">5 seats</option>
  <option value="6">6 seats</option>
  <option value="7">7 seats</option>
  <option value="8">8 seats</option>
  <option value="9">9 seats</option>
  <option value="10">10 seats</option>
</select>

Когда я пытаюсь отправить форму, не выбрав выбор (заполнитель показан), форма не отправлена ​​и ни одно сообщение не отображается.

1 Ответ

0 голосов
/ 03 мая 2020

Если вы хотите отобразить ошибку проверки, вам следует рассмотреть возможность использования ограничений

$builder->add('seatsNumber', ChoiceType::class, [ 'constraints' => [
    new NotNull(),
    new NotBlank()
] ])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...