2013-08-16 26 views
0

我是Symfony的新手。我只想知道是否可以使用createForm方法創建登錄表單。 我已經有一個LoginTYpeimplemanting buildForm方法創建一個數組whith所有必要的字段爲形式(_username, _password, submit button)使用createForm與symfony2登錄表格

在我的控制,我使用:

$form = $this->createForm(new LoginType(), $login, array('action' => $this->generateUrl('login_check'))); 

$ login只是與成員(_username, _password) getter和setter方法在實體目錄平面數據類的一個實例。

我渲染:HTML表單顯示

return $this->render('LppdgProfessionalBookletBundle:Login:login.html.twig', array('error'=> $error, 'form' => $form->createView())); 

來源:name="login[_username]""name"name="login[_password]爲 「password」 字段。 是否有任何方法可以避免名稱字段在數組中。 更多:使用手動表單時,一切正常。

謝謝。

洛朗

+0

什麼是這裏的問題是什麼呢?你不希望symfony在HTML中包含name屬性嗎?如果是這樣,出於好奇,爲什麼輸出中的名稱屬性不適合你? –

回答

0

設置在您的應用程序/配置/ security.yml文件的名稱:

 form_login: 
      provider:   cerad_account_user_provider 
      login_path:   cerad_account_login 
      check_path:   cerad_account_login_check 
      default_target_path: cerad_tourn_home 

      username_parameter: cerad_account_signin[username] # Adjust these three lines 
      password_parameter: cerad_account_signin[password] 
      csrf_parameter:  cerad_account_signin[_token] 
      csrf_provider:  form.csrf_provider 
      intention:   authenticate 
+0

非常感謝。它工作正常。只要參數在防火牆中正確設置,我就可以自定義我的實體字段。 我這個例子「login」(來自form的HTML源碼)是我的LoginType類的getName()方法的返回字符串。 – user2688738