Как отладить значения полей формы symfony, исчезающие после handleRequest ()? - PullRequest
0 голосов
/ 24 января 2020

Вопрос похож на этот: Как отладить форму Symfony2?

Проблема - при публикации данных - данные находятся в массиве $ _POST. Форма имеет поля, и они даже имеют некоторые значения.

После handleRequest - эти значения становятся пустыми.

Форма большая, теперь много работы по минимизации кода. Я думаю, что другие разработчики знают, где еще искать, чтобы увидеть проблему.

Я пробовал искать в панели отладки, но я не вижу ничего полезного - только ошибки, одно из которых это поле не заполнено, что неверно, потому что он находится в массиве $ _POST.

Шаги внутри handleRequest также кажутся непродуктивными, поскольку многие из этих циклов выполняются там, а внутри неясный код.

У меня проблема с Symfony 3.4.

1 Ответ

0 голосов
/ 24 января 2020

Один из способов - проверить, не изменили ли вы $ request неправильно.

Мне нужно было удалить некоторые данные из объекта запроса

 if ($policyRef->getUser() !== null && $policyRef->getUser()->getHowDidYouHearAboutUs() !== null) {
            // this happens when existing account is signing up in checkout with oauth
            $postData = $request->request->all();
            unset($postData['checkout']['account_setup']['signup']['howDidYouHearAboutUs']);
            unset($postData['undefined']); // todo maybe in frontend unset?
            $request->request->set('checkout', $postData['checkout']);
        }

Войдя в handleRequest с помощью xdebug, найдено из-за ошибки, форма содержит дополнительное поле 'checkout'.

Это потому, что сначала я сделал это:

 $request->request->set('checkout', $postData);

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

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