【发布时间】:2019-04-02 03:55:12
【问题描述】:
我正在处理 Laravel 表单字段并添加了 2 个日期输入字段(出发日期和返回日期)。我正在尝试在 Laravel 中创建一个自定义后端验证,其中出发日期必须在现在之后,而返回日期必须在出发日期后 6 天。请帮忙?
验证参数
'departure_date' => 'required|date|after:now',
//Must be 6 days after departure date
'return_date' => 'required|date|after:departure_date + 6 day',
我正在使用的验证逻辑
//Added at the top of the controller
use Illuminate\Foundation\Http\FormRequest;
//Controller code
public
function validatePlanEntries(Request $request)
{
$validation = $this->validate($request, [
'departure_date' => 'required|date|after:now',
//Must be 6 days after departure date
'return_date' => ['required', 'date', function ($attribute, $value, $fail) {
if (strtotime($value) < strtotime(request('departure_date')) + 518400) {
$fail('Departure date invalid');
}
}
]
]
}
【问题讨论】: