Как исправить ошибку Symfony 6 «Входное значение содержит нескалярное значение»

Я работаю с формами Symfony 6. Я попробовал отправить форму, используя метод submit(). В документации Symfony Form Direct Submit причина ошибки изложена так: «Список полей, отправленных с помощью метода submit(), должен быть таким же, как поля, определенные классом формы. В противном случае вы увидите ошибка проверки формы:". Как мне отладить и, по сути, устранить такого рода ошибки?

Можете ли вы привести свой пример?

jpvdw 04.10.2023 21:23
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать 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
1
65
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

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

Вы можете получить ошибки формы, нажав $form->getErrors().

Использование следующего $form->submit($request->request->get($form->getName())); должно привести к сбою из-за недавних изменений компонента. Возврат массива из метода get завершается с ошибкой с сообщением о нескалярной ошибке.

Вместо этого вам придется использовать либо это

$allValues = $request->request->all();
$form->submit($allValues[$form->getName()]);

или это, более сжато,

$form->submit($request->request->all()[$form->getName()]);

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