Symfony- FosUserBundle使电子邮件可以无效

时间:2017-08-20 21:10:31

标签: php symfony doctrine fosuserbundle

我正在尝试制作电子邮件字段nullable。我在这里搜索过,发现通过属性覆盖使其成为nullable。它工作在用户数据库表上nullable。但是,当我将电子邮件字段留空时,在注册页面上显示“请输入电子邮件

user.php的

 /**
* @ORM\Entity
* @ORM\Table(name="fos_user")
*
* @ORM\AttributeOverrides({
*     @ORM\AttributeOverride(
*         name="email", 
*         column=@ORM\Column(nullable=true)
*     ),
*     @ORM\AttributeOverride(
*         name="emailCanonical",
*         column=@ORM\Column(nullable=true, unique=false)
*     )
* })
*
*
*/
class User extends BaseUser
{
    // ...
}

RegisterFormType.php

->add('email', NULL,  array( 'required'   => false, 'label' => false, ))

2 个答案:

答案 0 :(得分:0)

在RegisterFormType.php中更改为

 ->add('email', LegacyFormHelper::getType('Symfony\Component\Form\Extension\Core\Type\EmailType'), array( 'required'   => false, 'label' => 'form.email', 'translation_domain' => 'FOSUserBundle'))

答案 1 :(得分:0)

FosUserBundle正在使用XML进行约束。通过覆盖资源fosuserbundle / resources / config / validation.xml

创建自己的文件