Symfony2 - 一个动作中的多个表单

Nae*_*yth 4 forms action symfony

我实现了一个页面来创建实体的实例和与此相关的用户.我的问题是在提交后绑定请求.

现在我有这个:

$formA = $this->createForm(new \MyApp\ABundle\Form\AddObjectForm());
$formB = $this->createForm(new \MyApp\UserBundle\Form\AddUserForm());

if ($request->getMethod() == 'POST')
{
    $formA->bindRequest($request);
    $formB->bindRequest($request);

    if ($formA->isValid() && $formB->isValid())
    {
    }
    // ...
}
Run Code Online (Sandbox Code Playgroud)

使用formAformB扩展AbstractType.但是,自然地,$formA->isValid()返回错误.例如,如何"切断"请求?

Eln*_*mov 7

如果您的表单是相关的,需要立即处理和验证,请考虑使用嵌入表单.否则,对每个表单使用单独的操作.

如果需要提供选择字段以从现有用户中选择用户,请考虑使用实体类型字段.


fra*_*y88 5

我知道答案已经有很长一段时间了,但也许如果有人在寻找它,这可能会有所帮助.

我有两种形式:user_form和company_form,并且提交发生在控制器的同一个功能中.我可以通过以下代码知道提交的表格:

    if ($request->getMethod() == 'POST') {

       $data = $request->request->all();

        if (isset($data['user_form'])) //This if means that the user_form has been submit.
        { 
Run Code Online (Sandbox Code Playgroud)

company_form将通过else.