如何比较验证中的日期?
How to compare dates in validation?
我正在尝试比较验证中的日期。文档说这是可能的,但没有记录。
我正在使用注释,我希望一个日期晚于另一个日期。
我该怎么做?
使用strtotime
您可以将日期格式转换为时间戳,然后将两者进行比较
我最终使用如下表达式解决了它:
/**
* @var \Datetime
* @Assert\Type(
* type = "\DateTime",
* message = "vacancy.date.valid",
* )
* @Assert\GreaterThanOrEqual(
* value = "today",
* message = "vacancy.date.not_today"
* )
*/
private $startdate;
/**
* @var \Datetime
* @Assert\Type(
* type = "\DateTime",
* message = "vacancy.date.valid",
* )
* @Assert\GreaterThanOrEqual(
* value = "today",
* message = "vacancy.date.not_today"
* )
* @Assert\Expression(
* "this.getEnddate() >= this.getStartdate()",
* message="vacancy.date.not_more_than"
* )
*/
private $enddate;
我正在尝试比较验证中的日期。文档说这是可能的,但没有记录。 我正在使用注释,我希望一个日期晚于另一个日期。 我该怎么做?
使用strtotime
您可以将日期格式转换为时间戳,然后将两者进行比较
我最终使用如下表达式解决了它:
/**
* @var \Datetime
* @Assert\Type(
* type = "\DateTime",
* message = "vacancy.date.valid",
* )
* @Assert\GreaterThanOrEqual(
* value = "today",
* message = "vacancy.date.not_today"
* )
*/
private $startdate;
/**
* @var \Datetime
* @Assert\Type(
* type = "\DateTime",
* message = "vacancy.date.valid",
* )
* @Assert\GreaterThanOrEqual(
* value = "today",
* message = "vacancy.date.not_today"
* )
* @Assert\Expression(
* "this.getEnddate() >= this.getStartdate()",
* message="vacancy.date.not_more_than"
* )
*/
private $enddate;