我是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')]