我正在尝试使电子邮件字段nullable
。我在这里搜索并发现通过属性覆盖使其nullable
。它工作了,在用户数据库表上它是nullable
.但是,在注册页面上,当我将电子邮件字段留空时,我得到">请输入电子邮件">
用户.php
/**
* @ORMEntity
* @ORMTable(name="fos_user")
*
* @ORMAttributeOverrides({
* @ORMAttributeOverride(
* name="email",
* column=@ORMColumn(nullable=true)
* ),
* @ORMAttributeOverride(
* name="emailCanonical",
* column=@ORMColumn(nullable=true, unique=false)
* )
* })
*
*
*/
class User extends BaseUser
{
// ...
}
注册表单类型.php
->add('email', NULL, array( 'required' => false, 'label' => false, ))
在RegisterFormType 中对此进行更改.php
->add('email', LegacyFormHelper::getType('SymfonyComponentFormExtensionCoreTypeEmailType'), array( 'required' => false, 'label' => 'form.email', 'translation_domain' => 'FOSUserBundle'))
FosUserBundle 使用 XML 进行约束。通过覆盖资源 fosuserbundle/resources/config/validation 来创建您自己的文件.xml