Php 调用issumbit()和isValid()会导致;“未定义的方法”;错误
我有一个Symfony表单,它是从控制器中的createFormBuilder()创建的。但是在两个IF语句下,表单应该包含两组不同的字段。我的Symfony版本是3.4 /src/AppBundle/Controller/DefaultController.php 这是基本形式Php 调用issumbit()和isValid()会导致;“未定义的方法”;错误,php,symfony,symfony4,symfony-forms,symfony-3.4,Php,Symfony,Symfony4,Symfony Forms,Symfony 3.4,我有一个Symfony表单,它是从控制器中的createFormBuilder()创建的。但是在两个IF语句下,表单应该包含两组不同的字段。我的Symfony版本是3.4 /src/AppBundle/Controller/DefaultController.php 这是基本形式 $form = $this->createFormBuilder() ->add('name', TextType::class, ['required' => true]]) -&g
$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()) {
...
...
...
}
错误是:
试图调用类的名为“issubmited”的未定义方法
“Symfony\Component\Form\FormBuilder”
我怎样才能做到这一点?在不同条件下多次追加字段 试试看:
$formbuilder = $this->createFormBuilder()
->add('name', TextType::class, ['required' => true]])
->add('email', EmailType::class, ['equired' => true]]);
if($a==true){
$formbuilder->add('username', TextType::class, ['required' => true]])
->add('password', PasswordType::class, ['required' => true]]);
}
$form = $formbuilder->getForm();
if ($form->isSubmitted() && $form->isValid()) {
...
...
...
}
使用$form->getForm()->isSubmitted()?