我想在laravel 5项目中比较插入日期和当前时间

时间:2016-03-22 14:24:23

标签: javascript laravel-5

我想在laravel 5项目中比较插入日期和当前时间。实际上,如果插入的日期已经过去,我需要显示一条错误消息。有人可以帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:0)

您可以使用验证规则为您返回该错误。

$currentDate = Carbon::now();
$validator = Validator::make($request->all(), [
    'dateField' => 'date|after:currentDate',
]);
if($validator->fails()){
    return redirect()->back()->withErrors($validator)->withInput();    
}

然后您可以在视图中使用$errors变量来显示错误:

@if (count($errors) > 0)
    <ul>
        @foreach ($errors->all() as $error)
            <li>{{ $error }}</li>
        @endforeach
    </ul>
@endif

答案 1 :(得分:0)

最好的方法是告诉您的模型您的插入&#39;列是日期:

  [HttpPost, Route("test")]
  public void Test(Body b)
  {
  }

  public class Body
  {
      public List<KeyValuePair<string,string>> headerData { get; set; }
      public List<KeyValuePair<string,string>> rowData { get; set; }
  }

这会将protected $dates = ['column_name']; 属性转换为Carbon个实例,该实例具有created_at方法:

isPast()

如果您不想更改模型,可以手动创建Carbon实例。