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

时间:2011-09-26 18:30:56

标签: php forms symfony

我有像这样的电子邮件字段的实体,字段不是必需的,我只是不想在数据库列中有空值:

class Entity {

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

}

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

1 个答案:

答案 0 :(得分:1)

如果您关心的是数据库中没有空值,那么可以选择几个选项:

  1. 在数据库中,为数据库中的电子邮件列指定默认值。
  2. 在PHP中,当电子邮件为空时创建“NA”或类似值。
  3. 但是你的非必需字段不能为空的逻辑没有意义。您可以使其成为必需或允许空值。