gpt4 book ai didi

symfony - 如何在 Symfony 中使用 Assert/Type 并允许 null?

转载 作者:行者123 更新时间:2023-12-04 05:03:09 27 4
gpt4 key购买 nike

是否可以使用确切类型或空值来验证实体的属性?
换句话说,该属性可以有 可选 精确类型的值。

例如,属性 $date 可以设置( \Datetime 类型)或不设置:

/**
* @ORM\Column(type="datetime", nullable=true)
* @Assert\Type("\DateTime")
*/
protected $date;

不介意 nullable=true@ORM\Column部分,它仅适用于 DB 级别,不适用于模型验证。

问题是 :如果 $date 不存在,错误是:
Expected argument of type "DateTime", "NULL" given

最佳答案

试试 @Assert\DateTime()反而:

/**
* @ORM\Column(type="datetime", nullable=true)
* @Assert\DateTime()
*/
protected $date;
Type强制字段为指定类型的实例,而其他约束验证值是否为空( NotNull 等除外)。

请记住 @Assert\DateTime()也接受正确的日期时间 字符串 .但是您可以使用适当的 setter 来处理它以强制此值为 null 或 \DateTime .

关于symfony - 如何在 Symfony 中使用 Assert/Type 并允许 null?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44721845/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com