我想在一个对象的属性上应用验证器,只有在该属性的值非空时才应用验证器。
现在 Symfony 的标准行为:
class Entity
{
/**
* @ORM\Column(type="string", nullable=true)
* @Assert\Email()
*/
protected $email;
(...)
}
如果电子邮件为null或空字符串,那么该对象将无法通过验证。是否有一种方法告诉验证器将空值断言为有效,并仅在字段具有数据时进行验证?
PS:我知道我可以编写回调验证器,但为了拥有“允许为空”功能而为每个字段编写回调验证器并不是很好。
NotNull()
和NotEmpty()
约束条件。鉴于提问者没有使用这两个约束条件之一,所以问题很可能是由于客户端的HTML5required
属性引起的。 - kgilden