我使用Symfony v5.2我已经创建了这个约束:
$constraint = new AssertCollection([
'firstname' => [
new AssertNotNull(),
new AssertNotBlank()
],
'lastname' => [
new AssertNotNull(),
new AssertNotBlank()
],
'birthdate' => [
new AssertNotNull(),
new AssertNotBlank(),
new AssertDate(),
new AssertLessThan('today')
]
]);
然后我用postman:
发送这个JSON{
"firstname": "john",
"lastname": "doe",
"birthdate": "2030-01-01"
}
但是assert没有被触发。好像只有DateTime是小于的,但不确定。
我做错了什么?我需要自己核对日期吗?
在您的例子中,两个字符串由LessThan验证器进行比较
在验证之前,您应该将birthdate
的请求值转换为DateTime
的对象。