我有一个从控制器中的 createFormBuilder() 创建的 Symfony 表单。但在两个 IF 语句下,表单应包含两组不同的字段。我的 Symfony 版本是 3.4。
/src/AppBundle/Controller/DefaultController.php
例如:这是基本形式。
$form = $this->createFormBuilder()
->add('name', TextType::class, ['required' => true]])
->add('email', EmailType::class, ['required' => true]])
->getForm();
if ($form->isSubmitted() && $form->isValid()) {
...
...
...
}
现在,当条件成立时,我需要向这个基本表单添加更多字段。下面显示的是我所做的,它给了我一个错误。
$form = $this->createFormBuilder()
->add('name', TextType::class, ['required' => true]])
->add('email', EmailType::class, ['equired' => true]]);
if($a==true){
$form->add('username', TextType::class, ['required' => true]])
->add('password', PasswordType::class, ['required' => true]]);
}
$form->getForm();
if ($form->isSubmitted() && $form->isValid()) {
...
...
...
}
错误是:
尝试调用类中名为“isSubmissed”的未定义方法
“Symfony\Component\Form\FormBuilder”。
我怎样才能完成这件事?在不同条件下多次追加字段?