我想弄清楚如何解决这个问题......我有一个包含4个输入的表单:beginDate,beginHour,endDate,endHour。我有一个助手返回一个日期对象,需要日期和小时并将其与碳混合...现在我必须检查开始日期是否小于结束日期...我想在请求文件中执行此操作... 有什么建议 ?谢谢!
public function rules()
{
$rules = [
'beginDate' => 'required|date',
'beginHour' => 'required',
'endDate' => 'required|date',
'endHour' => 'required',
'user_list' => 'required',
];
$begin = Helper::mergeDateHour($this->beginDate,$this->beginHour);
$end = Helper::mergeDateHour($this->endDate,$this->endHour);
if(!$begin->lt($end)){
return false;
}
return $rules;
}
答案 0 :(得分:0)
如果您只是想查看日期,可以这样做。
'endDate' => 'required|date|after:beginDate'
如果没有,您可以尝试使用DateTime。 例如,
$validator = Validator::make(Input::all(), User::$test);
if ($validator->passes()) {
$beginDate = Input::get("beginDate");
$beginHour = Input::get("beginHour"); // assumming H:i
$endDate = Input::get("endDate");
$endHour = Input::get("endHour");
$begin = new DateTime(date("Y-m-d H:i:s", strtotime($beginDate." ".$beginHour.":00")));
$end = new DateTime(date("Y-m-d H:i:s", strtotime($endDate." ".$endHour.":00")));
if($begin > $end)
echo "1 is faster";//return and say end supposed to be faster
else
echo "2 is faster";
} else {
return Redirect::back()->with('message', 'Please fix the following errors:')->withErrors($validator)->withInput();
}