首页 > 解决方案 > Symfony 4 更改默认表单名称

问题描述

我创建了 2 个未链接到同一控制器中的任何实体的表单。每个表单都有它自己的提交按钮。我从不使用第二种形式的提交功能。我认为这是因为这 2 个表单具有相同的默认名称“表单”。问题是如何更改表单名称?低于我所做的

public function index(Request $request)
{
    $form1 = $this->createFormBuilder()
        ->add('sn', TextType::class, [
            'required' => false,
            ])
        ->add('search', SubmitType::class, ['label' => 'Search'])
        ->getform();
    $form1->handleRequest($request);
    if ($form1->isSubmitted() && $form1->isValid()) {
       //Do something

    }

    $form2 = $this->createFormBuilder();
    $form2->add('Agree', CheckboxType::class, [
                    'label'    => 'Agree',
                    'required' => false,
                ]);
    $form2->add('detail', SubmitType::class, ['label' => 'Detail']);
    $form2 = $form2->getForm();
    $form2->handleRequest($request);
    if ($form2->isSubmitted() && $form2->isValid()) {
        //Do something else
    }

    return $this->render('search/index.html.twig', [
        'form1' => $form1->createView(),
        'form2' => $form2->createView(),
    ]);
}

标签: phpformssymfonysymfony4

解决方案


如果要修改表单名称,请使用 createNamed() 方法:

$form1 = $this
    ->get('form.factory')
    ->createNamed('my_name', TextType::class, $task);

您甚至可以通过将其设置为空字符串来完全禁止该名称。


推荐阅读