php - Symfony2 : Two forms in a same page

标签 php forms symfony

我在同一个页面中有两个表单。

我的问题是当我尝试提交表单时,它就像尝试在页面中提交下面的第二个表单一样。

如下,你可以找到我的2个表格:

public function createSuiviForm() {

    return $form = $this->createFormBuilder(null)
            ->add('numero', 'text', array('label' => 'N° : ',
                'constraints' => array(
                    new Assert\NotBlank(array('message' => 'XXXX')),
                    new Assert\Length(array('min' => 19, 'max' => 19, 'exactMessage' => 'XXX {{ limit }} XXX')))))
            ->add('xxxx', 'submit')
            ->getForm();
}

public function createModificationForm() {

    return $form = $this->createFormBuilder(null)
            ->add('modification', 'submit', array('label' => 'XXXXXXXXXXXXXXXXXXXX'))
            ->getForm();
}

我的第二个表单只是一个提交按钮。

我将它们传递给我的渲染器并使用以下方法显示它们:

<div class="well">
    <form method="post" action='' {{form_enctype(form)}} >
        {{ form_widget(form) }}
        <input type="submit" class="btn btn-primary"/>
    </form>
    <div class='errors'>
        {{ form_errors(form) }}
     </div>
</div>

'form' 是我对第一个表单的变量的名称 并为我的第二种形式“更新”。

当我尝试提交我的第二个表单时,我需要点击两次,最后我得到了:

"This form should not contain extra fields."
And all non valid input for the remainding form.

我尝试将validation_group添加为false,但无济于事。

我不明白为什么会出现此错误,因为我的表单根本没有嵌入

希望你能理解……

最佳答案

您必须分别处理表格:

if('POST' === $request->getMethod()) {
 
    if ($request->request->has('form1name')) {
        // handle the first form  
    }

    if ($request->request->has('form2name')) {
        // handle the second form  
    }
}

这在 Symfony2 Multiple Forms: Different From Embedded Forms 中得到了完美的解释(暂时不可用 - 见下文)

更新

由于上面提供的链接暂时不可用,您可以查看该资源的存档here .

关于php - Symfony2 : Two forms in a same page,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23994563/

相关文章:

PHP 邮件被发送到垃圾邮件

PHPMailer 不适用于 gmail

php - 将大表格发布到 php 文件

php - 将 Excel 流附加到 swiftmailer 消息中?

php - Symfony2.3 - 如何添加自定义供应商

PHP - WHERE Join 中的 MYSQL 未知列

php - 如果存在,如何仅应用 (Wordpress) 元查询

html - 并排 float 到相同大小的盒子

python - 并排排列 Wagtailstream 字段

jQuery UI CSS 导入似乎不起作用