微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Symfony 约束小于日期

如何解决Symfony 约束小于日期

我使用 Symfony v5.2 我已经创建了这个约束:

$constraint = new Assert\Collection([
            'firstname' => [
                new Assert\NotNull(),new Assert\NotBlank()
            ],'lastname' => [
                new Assert\NotNull(),'birthdate' => [
                new Assert\NotNull(),new Assert\NotBlank(),new Assert\Date(),new Assert\Lessthan('today')
            ]
        ]);

然后我用邮递员发送这个 JSON :

{
    "firstname": "john","lastname": "doe","birthdate": "2030-01-01"
}

但是断言没有被触发。似乎 lessthan 只在 DateTime 上,但不确定。

我做错了什么?我需要自己检查日期吗?

解决方法

在您的情况下,LessThan 验证器比较了 2 个字符串

您应该在验证之前将 birthdate 的请求值转换为 DateTime 的对象。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。