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