php - 多个$form->add() 导致handleRequest() 失败

标签 php forms symfony

一个简短的问题。为什么会这样

$form = $this->createFormBuilder();
$form->add('one');
$form->add('two');
$form->getForm();

$form->handleRequest($request);

if ($form->isSubmitted()) {
        die('ok');
    }

失败,尝试调用“Symfony\Component\Form\FormBuilder”类的名为“handleRequest”的未定义方法。

当我这样做的时候

$form->getForm()->handleRequest($request);

我得到了同样的错误,但不是“handleRequest”,而是“isSubscribed”

我还尝试创建两个表单($form 和 $subform),然后嵌套 $form->add($subform) 但结果是 indends like this 。我的任务是完成循环,因此我需要分别 add() 数组中的每个字段。

最佳答案

在 FormBuilder 上执行多个 ->add() 方法是绝对可以的

在您的情况下变量 $form 如果是 FormBuilder,而不是 FormInterface。 因此,稍微更改一下您的代码:

$formBuilder = $this->createFormBuilder();
$formBuilder->add('one');
$formBuilder->add('two');
$form = $formBuilder->getForm();

$form->handleRequest($request);

这会导致错误。

关于php - 多个$form->add() 导致handleRequest() 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46258314/

相关文章:

css - 将表单字段和提交按钮对齐在同一行

javascript - 将 HTML 表单发布到 iframe 会导致浏览器历史记录出现问题

access-control - Symfony2 - 访问控制

symfony - Doctrine - 如何初始化 DB 值

php - 为什么我的 Array 输出到 mysql 数据库会出错?

php - 仅允许来自某些网站的 iframe

php - 嵌套 mysql 查询在 codeigniter 中不起作用

php - fatal error : Call to Undefined Function Post

javascript - 一个 Ajax 函数可以催生另一个 Ajax 函数吗?

php - 不能使用 Symfony\Component\HttpFoundation\File\UploadedFile 类型的对象作为数组 Laravel 4.2 文件上传