Symfony - отключить обязательное поле, если флажок установлен - PullRequest
0 голосов
/ 02 февраля 2020

У меня есть форма на Symfony. Моя форма состоит из ввода текста и флажка.

Если пользователь установит флажок, ввод текста будет отключен (я использую javascript). Однако, если пользователь не устанавливает флажок, он должен заполнить введенный текст. Если он ставит флажок, ему не нужно это делать.

Вот моя форма:

$formBuilder
            ->add('text',      TextType::class,array(
            'required' => true,
            'constraints' => array(
                new NotBlank()
            )))
            ->add('box',      CheckboxType::class, array(
                'mapped' => false,
                'label' => 'Box'
            ))

    ;

Я ищу способ отключить проверку ввода текста, если поле проверено. Как игнорировать проверку ввода текста, если флажок установлен?

Знаете ли вы, как это сделать? Спасибо!

Ответы [ 2 ]

0 голосов
/ 02 февраля 2020

В этом случае вам понадобится специальное ограничение. Вы должны пометить поле как необязательное и указать звездочку (*) для обязательного использования, используя javascript. Для бэкэнда вам нужно создать собственное ограничение. См. symfony документацию здесь: https://symfony.com/doc/current/validation/custom_constraint.html

0 голосов
/ 02 февраля 2020

Возможно, вы можете использовать от checkbox до , чтобы установить значение в текстовом поле . Таким образом, он будет go через Symfony проверку формы .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...