我正在尝试删除在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
文件。但是,当我提交表单时,我收到以下警告消息:
此表单不应包含额外字段。
答案 0 :(得分:2)
我自己找到了解决方案:
我还扩展了ProfileController
我在POST请求中使用username
参数的位置。由于现在缺少此参数,我收到了此消息。