如何修复 Symfony 6 错误“输入值包含非标量值”

Tem*_*han 2 symfony-forms symfony symfony6

我正在使用 Symfony 6 表单。我尝试使用该方法提交表单submit()。从文档Symfony Form Direct Submit中,错误原因被阐明为“使用 Submit() 方法提交的字段列表必须与表单类定义的字段相同。否则,您将看到表单验证错误: ”。我该如何调试并解决这种错误?

小智 8

您可以通过以下方式获取表单的错误$form->getErrors()

使用以下内容$form->submit($request->request->get($form->getName()));由于组件的最近更改,从 get 方法返回数组失败并显示非标量错误消息。

相反,你必须使用这个

$allValues = $request->request->all();
$form->submit($allValues[$form->getName()]);
Run Code Online (Sandbox Code Playgroud)

或者这个,更浓缩,

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

  • 可以将表单名称作为参数传递:`$request->request->all($form->getName()));` (2认同)