如何调试在handleRequest()之后消失的表单symfony字段值?

问题描述 投票:0回答:1

问题与此相似:How to debug a Symfony2 form?

问题是-在发布数据时-数据位于$ _POST数组中。表单具有字段,并且甚至具有一些值。

handleRequest之后-这些值将为空。

表单很大,为了减少代码,现在要做很多工作。我认为其他开发人员也知道在哪里可以找到该问题。

我尝试在调试栏中查找,但是我看不到任何有用的东西,只是错误,其中之一是未填充字段,这是不正确的,因为它在$ _POST数组中。

进入handleRequest内部听起来也很徒劳,因为其中很多循环正在进行,内部代码也不清晰。

我在Symfony 3.4中有问题。

php forms symfony
1个回答
0
投票

一种方法-检查您是否没有以错误的方式修改$ 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']);
        }

通过使用xdebug进入handleRequest,发现存在包含额外字段'checkout'的错误。

是因为起初我是这样做的:

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

也在调试栏中的Probalby应该已经显示了这一点,但是我没有注意,因为几乎没有错误,并且我专注于其他领域。

© www.soinside.com 2019 - 2024. All rights reserved.