我的问题是如何处理$ _POST数据本身的请求数据。我的意思是当我试图$form->handleRequest( $request );
symfony尝试从$ _POST [form_classname]获取数据时,但我想直接从基础$ _POST变量填充我的表单类
UPD: 其实我想处理来自外部网站的信息。我必须开发类似API的东西。但未经授权,令牌等。 所以我决定用我需要的一些属性构建表单。验证后,表单可能会做一些逻辑。所以,我做对了吗?或者会有陷阱?
UPD: 这是我必须处理的$ _POST的一个例子
Function=TransResponse&RESULT=0&RC=00&AUTHCODE=745113
如您所见,请求中没有表单名称。仅当请求类似于
时,$form->handleRequest( $request );
才有效
[form_name][Function]=TransResponse&[form_name][RESULT]=0&[form_name][RC]=00&[form_name][AUTHCODE]=745113
但是我不能改变请求格式,所以我希望尽可能快速简单地解决它
答案 0 :(得分:0)
使用
$this->get('form.factory')->createNamed('')
$this->get('form.factory.)->createNamedBuilder('')
分别创建一个Form或FormBuilder,它使用整个$_POST
/ $_GET
数组作为参数。
示例:
/**
* @Route("/testRoute")
* @param Request $request
* @return Response
*/
public function testAction(Request $request): Response
{
$form = $this->get('form.factory')->createNamedBuilder('', FormType::class, null, ['csrf_protection' => false])
->add('text', TextType::class)
->setMethod('GET')
->getForm();
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
return new Response($form['text']->getData());
}
return new Response('<a href="?text=123">Submit me</a>');
}
答案 1 :(得分:-1)