2014-02-20 77 views
2

我試圖消除在FOSUserBundle編輯的用戶名選擇「修改用戶名」表單字段。的Symfony2:FOSUserBundle刪除個人資料

ProfileFormType.php如下所示:

<?php 

namespace ACME\MemberBundle\Form\Type; 

use Symfony\Component\Form\AbstractType; 
use Symfony\Component\Form\FormBuilderInterface; 
use Symfony\Component\OptionsResolver\OptionsResolverInterface; 
use Symfony\Component\Security\Core\Validator\Constraint\UserPassword as OldUserPassword; 
use Symfony\Component\Security\Core\Validator\Constraints\UserPassword; 

use FOS\UserBundle\Form\Type\ProfileFormType as BaseType; 

class ProfileFormType extends BaseType { 
    protected function buildUserForm(FormBuilderInterface $builder, array $options) { 
     parent::buildUserForm($builder, $options);  
     $builder->remove('username'); 
    } 

    public function getName() 
    { 
     return 'acme_member_edit_profile'; 
    } 
} 

我也把它註冊爲服務和編輯config.yml文件。但是,在提交表單時,我收到以下警報消息:

此表單不應包含額外的字段。

回答

2

我發現溶液自己:

我也延長了ProfileController我曾經從POST請求的username參數。由於此參數現在不存在,我收到了此消息。

+0

甜,我正在尋找一個很好的辦法從表單中刪除用戶名和密碼編輯,有趣的事實我都沒有找到密碼生成器「添加」方法,我也檢查了輪廓控制器使用的形式工廠沒有線索,我有過在HTML檢查和猜測的名字「plainPassword」 – ROLO