如何在FOSUserBundle,Symfony 3中删除所需的第二个密码?

时间:2016-11-06 10:07:45

标签: symfony passwords fosuserbundle

我尝试覆盖默认的 FOS 注册表单,但我没有第二个密码字段。我如何将其从 FOS 中的必填字段中删除,因此我不会看到react

之类的错误

2 个答案:

答案 0 :(得分:1)

Official docs救援!

例如,如果您想在注册表单中添加name字段:

<?php
// src/AppBundle/Form/RegistrationType.php

namespace AppBundle\Form;

use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;

class RegistrationType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder->add('name');
    }

    public function getParent()
    {
        return 'FOS\UserBundle\Form\Type\RegistrationFormType';

        // Or for Symfony < 2.8
        // return 'fos_user_registration';
    }

    public function getBlockPrefix()
    {
        return 'app_user_registration';
    }

    // For Symfony 2.x
    public function getName()
    {
        return $this->getBlockPrefix();
    }
}

那里有另一个关键段落:

  • If you don't want to reuse the fields added in FOSUserBundle by default, you can omit the getParent method and configure all fields yourself.

因此,您可以省略getParent方法,而是在buildForm方法中添加所有需要的字段。

答案 1 :(得分:0)

所以有一种更简单的方法。     ....

class ProfileFormType extends AbstractType
{
    ....

    public function getParent()
    {
        return 'FOS\UserBundle\Form\Type\ProfileFormType';
    }
  

$ builder-&GT;清除(&#39;电子邮件&#39);

https://stackoverflow.com/a/39282012/2309309