Php 如果用户绕过非必填字段,如何强制执行默认值

Php 如果用户绕过非必填字段,如何强制执行默认值,php,forms,symfony,Php,Forms,Symfony,我有一个实体,电子邮件字段如下,字段不是必需的,我只是不想在DB列中有空值: class Entity { /** * @ORM\Column() * @Assert\NotNull() */ protected $email = ''; } 如果用户在表单中绕过此字段,如何强制执行默认值? 现在,验证器抛出一个字段不能为null的错误。如果您关心的只是数据库中没有null,那么有几个选项: 在数据库中,为数据库中的电子邮件列指定默认值 在PH

我有一个实体,电子邮件字段如下,字段不是必需的,我只是不想在DB列中有空值:

class Entity {

    /**
     * @ORM\Column()
     * @Assert\NotNull()
     */
    protected $email = '';

}
如果用户在表单中绕过此字段,如何强制执行默认值?
现在,验证器抛出一个字段不能为null的错误。

如果您关心的只是数据库中没有null,那么有几个选项:

  • 在数据库中,为数据库中的电子邮件列指定默认值
  • 在PHP中,当电子邮件为空时,创建一个“NA”或类似值
  • 但是,让非必填字段不能为空的逻辑是没有意义的。您可以将其设为必需值,也可以允许空值