Как скрыть логический тип для удаленного свойства в моей форме

У меня есть объект Symfony 4, который включает логическое свойство для «удалено». В моем репозитории я возвращаю только объекты, которые не помечены как удаленные. Когда пользователь редактирует объект и отображается форма, есть флажок «удалено», который я хотел бы скрыть.

Я попытался сделать это, изменив тип поля на HiddenType следующим образом:

public function buildForm(FormBuilderInterface $builder, array $options)
{

    $builder
        ->add('name')
        ->add('logo')
        ->add('deleted', HiddenType::class)
        ->add('submit', SubmitType::class, [
            'label' => 'Create',
            'attr' => ['class' => 'btn btn-default pull-right'],
        ]);

}

Но когда я отправляю форму, я получаю эту ошибку: Ожидаемый аргумент типа "boolean", задано "NULL".

Любые идеи о том, как правильно скрыть это поле в symfony?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Symfony Station Communiqué - 17 февраля 2023 г
Symfony Station Communiqué - 17 февраля 2023 г
Это коммюнике первоначально появилось на Symfony Station , вашем источнике передовых новостей Symfony, PHP и кибербезопасности.
Управление ответами api для исключений на Symfony с помощью KernelEvents
Управление ответами api для исключений на Symfony с помощью KernelEvents
Много раз при создании api нам нужно возвращать клиентам разные ответы в зависимости от возникшего исключения.
0
0
562
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я не знаю, почему вы хотите включить это скрытое поле в свою форму, но поля по умолчанию являются обязательными.

Глянь сюда : https://symfony.com/doc/current/reference/forms/types/form.html#required

Если для параметра required установлено значение false, это может решить проблему.

Если для удаления нет значения или установлено значение null, вы можете установить по умолчанию значение false следующим образом:

$builder->add('deleted', HiddenType::class, [
    'empty_data' => false
]);

Другие вопросы по теме