Symfony 约束小于日期
Symfony constraint LessThan Date
我使用 Symfony v5.2
我创建了这个约束:
$constraint = new Assert\Collection([
'firstname' => [
new Assert\NotNull(),
new Assert\NotBlank()
],
'lastname' => [
new Assert\NotNull(),
new Assert\NotBlank()
],
'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
的对象。
我使用 Symfony v5.2 我创建了这个约束:
$constraint = new Assert\Collection([
'firstname' => [
new Assert\NotNull(),
new Assert\NotBlank()
],
'lastname' => [
new Assert\NotNull(),
new Assert\NotBlank()
],
'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
的对象。