Я пытаюсь отправить массив со значениями в поле формы Symfony 4, но проверка не проходит.
Я в процессе обновления моего приложения с Symfony 2.7 до Symfony 4. Проблема заключается в том, чточто форма, которую я использовал сейчас, всегда не проходит проверку из-за изменений в формах Symfony.
Форма Symfony имеет следующее поле
$builder->add('contactData', null, ['mapped' => false])
В Symfony 2.7 я всегда буду отправлять POSTзапрос со значениями массива в поле contactData
и, поскольку он не отображается, он просто установит данные для объекта поля в процессе отправки, и значения будут доступны в обработчике.Пример запроса:
{
"name": {
"aField": "aValue",
"contactData": {
"something": "value"
}
}
}
Однако в Symfony 4 теперь добавлена проверка проверки в \Symfony\Component\Form\Form
классе
} elseif (\is_array($submittedData) && !$this->config->getCompound() && !$this->config->hasOption('multiple')) {
, которая приводит к сбою проверки при отправке данных в contactData
поле, так как submitData действительно является массивом.Я просматривал весь интернет и читал документацию Symfony, но я не могу найти способ вызвать такое же поведение, как в Symfony 2.7.
Я был бы очень признателен за любой совет, яЯ застрял на этом некоторое время