我在同一个页面中有两个表单。
我的问题是当我尝试提交表单时,它就像尝试在页面中提交下面的第二个表单一样。
如下,你可以找到我的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/