我尝试覆盖默认的 FOS 注册表单,但我没有第二个密码字段。我如何将其从 FOS 中的必填字段中删除,因此我不会看到react
答案 0 :(得分:1)
例如,如果您想在注册表单中添加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);