Laravel 4.2日期验证

时间:2015-03-29 10:16:35

标签: php validation laravel

如何以今天和今天比这更早的日期接受的方式验证日期?我知道before:today接受较早的日期,after:today接受明天开始的日期。

 $rules = [
    'start_at'      => 'required|date|date_format:Y-m-d|after:yesterday',
    'end_at'        => 'required|date|date_format:Y-m-d|after:start_at',
];

我希望今天能够开始任务并在今天结束。

1 个答案:

答案 0 :(得分:6)

据我了解,您希望end_at在同一日期或start_at之后,而不是start_at之前。

public function rules()
    {
        return [
            'start_at'  => 'required|date|date_format:Y-m-d|after:yesterday',
            'end_at'    => 'required|date|date_format:Y-m-d|after:' . \Carbon\Carbon::parse($this->start_date)->subDay()->toDateString(),
        ];
    }

到目前为止,我所做的工作end_at需要与start_at相关(同一时间或start_at之后)。

  1. 我正在使用Carbon将start_at转换为日期。
  2. 减去日期1天。
  3. 根据strtotime PHP函数将其转换回字符串。