【发布时间】:2019-06-21 10:25:16
【问题描述】:
在一个 Laravel 应用程序上工作,我正在处理两个日期的后端验证。 2个日期主要分别是departmentDate和returnDate。
在出发日期我试图验证它是必需的,应该是日期类型并且应该是今天之后的日期。在返回日期,我还尝试实现一个验证逻辑,即返回日期应在出发日期后 3 天或更长时间,但应在出发日期后不到 180 天。
验证函数
public function validateDates(Request $request){
//dd($request->all());
$now = new \DateTime();
$after_date = $now->parse($this->departureDate)->addDays(3);
$maxdays = $now->parse($this->departureDate)->addDays(180);
$validation = $this->validate($request, [
'departureDate' => 'required|date|after:now',
'returnDate' => 'required|date_format:"Y-m-d"|after:' . $after_date->toDateString().'|before:' . $maxdays->toDateString()
],
[
'departureDate.after' => 'Your departure date should be tomorrow or any date in the future',
'returnDate.after' => 'Your return date should be 3 or more days after the departure date',
'returnDate.before' => 'Your return date should be no more than 180 days from the departure date',
]
};
【问题讨论】:
-
任何错误被抛出?
-
@Mozammil 我收到以下错误 Call to undefined method DateTime::parse()
标签: validation date laravel-5.4