我在验证$pickUpDate
日期时遇到问题。当我今天选择日期并提交时 - 我收到错误:Pick-up: today or future date only
它应该允许我仅使用今天或未来的日期。它不应该允许少于今天的日期。
public function withValidator($validator)
{
$validator->after(function ($validator) {
$pickUpDate = Carbon::createFromFormat('D j M Y', $this->pickup_date);
$dropOffDate = Carbon::createFromFormat('D j M Y', $this->dropoff_date);
$todayDate = Carbon::now();
if (!$pickUpDate->gte($todayDate)) {
$validator->errors()->add('pickup_date', 'Pick-up: today or future date only');
}
});
}
答案 0 :(得分:2)
由于today()
将返回今天的开始时间,您最后需要添加->endOfDay()
。
Carbon::now()->endOfDay();
或添加分钟:
Carbon::now()->addMinutes(5);
在您的情况下,您正在函数中添加now()
,以检查此时间是否过去。由于此函数需要时间来检查(可能是毫秒),因此它将返回false。给你现在的碳物添加1分钟就可以了。