如何编写与当前日期相比较的提前或等日期验证



我是Laravel的新手,正在使用Laravel 6.x。我需要编写一个验证,查看用户在表单上提供的日期(通过JQuery日期选择器(,以确保用户选择的日期在当前日期当天或之前。如果不在某个地方使用撇号,我就不知道如何表达当前日期,这会妨碍Laravel正确理解验证。

例如,如果我写:

'sleep_date' => ['required', 'before-or-equal-date: Date(Y-m-d)']

这是行不通的,因为Date函数的参数周围没有撇号。但是,如果我像这个例子中那样添加撇号,Laravel说存在语法错误:

'sleep_date' => ['required', 'before-or-equal-date: Date('Y-m-d')']

如何对其进行编码,使其按预期工作?

您可以将当前日期与一个点连接起来:

'sleep_date' => ['required', 'before_or_equal:' .  Date('Y-m-d')]

此外,您也可以使用laravelnow()帮助程序,而不是以相同的方式使用Date()

'sleep_date' => ['required', 'before_or_equal:' . now()->format('Y-m-d')]

最新更新