2017-06-13 116 views
4

整個錯誤是missiong命名空間Symfony \ Component \ Form由於標題的最大字符數而被3個點代替。傳遞給Symfony Component Form FormRenderer :: renderBlock()的參數1必須是... FormView的實例,...的實例給出的形式

因此,我按照docs中提供的步驟操作,但無法找到我收到的錯誤的來源。如果有人能幫忙,我會非常感激。

這裏是我的AuthController

/** 
* @Route("/register", name="registrationPage") 
*/ 
public function showRegistrationPage(Request $request) 
{ 
    return $this->render('auth/register.html.twig', [ 
     'register_form' => $this->createForm(RegisterType::class, (new UserInformation())) 
    ]); 
} 

的方法和這裏的方法,在這裏我宣佈

public function buildForm(FormBuilderInterface $builder, array $options) 
{ 
    $builder 
     ->add('firstname', TextType::class, ['attr' => ['class' => 'form-control']]) 
     ->add('secondname', TextType::class, ['attr' => ['class' => 'form-control']]) 
     ->add('email', EmailType::class, ['attr' => ['class' => 'form-control']]) 
     ->add('password', PasswordType::class, ['attr' => ['class' => 'form-control']]) 
     ->add('password_confirmation', PasswordType::class, [ 
      'label' => 'Confirm Password', 
      'attr' => ['class' => 'form-control'], 
      'mapped' =>false 
     ]) 
     ->add('Register', SubmitType::class, ['attr' => ['class' => 'btn btn-primary']]); 

} 
+2

你錯過了'形式$ form-> createView()',看看https://symfony.com/doc/current/forms。 HTML#處理形式,提交 – JimL

回答

1
/** 
* @Route("/register", name="registrationPage") 
*/ 
public function showRegistrationPage(Request $request) 
{ 
    $form = $this->createForm(RegisterType::class, (new UserInformation()); 

    return $this->render('auth/register.html.twig', [ 
     'register_form' => $form->createView() 
    ]); 
} 

http://symfony.com/doc/current/forms.html#building-the-form

相關問題