Carbon - 仅限今天或将来的日期

Carbon - today or future date only

我在验证 $pickUpDate 日期时遇到问题。当我 select 今天约会并提交时 - 我收到错误消息: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');
        }
    });
}

由于today()将return今天的开始时间,因此您需要在最后添加->endOfDay()

Carbon::now()->endOfDay();

或添加分钟:

Carbon::now()->addMinutes(5);

在你的例子中,你在函数中添加了 now() 来检查这个时间是否已经过去。由于此函数需要时间来检查(可能是毫秒),因此它将 return false。给你现在的碳对象增加 1 分钟就可以了。