我开始使用Request对象来验证传入的帖子数据,我已经看过其他人如何使用date_format的示例,但我似乎无法获取日期到即使我使用的是使用PHP的date_parse_from_format时传递的格式:
print_r(date_parse_from_format('Y-m-d','2015-07-27'));
输出
更新:他们是date_parse_from_format中的警告,但我不明白为什么它反映了格式。
{
"year": 2015,
"month": 2,
"day": 30,
"hour": false,
"minute": false,
"second": false,
"fraction": false,
"warning_count": 1,
"warnings": {
"10": "The parsed date was invalid"
},
"error_count": 0,
"errors": [],
"is_localtime": false
}
验证
public function rules()
{
return [
'rental_id' => 'required|exists:rentals,id',
'start_at' => 'required|date_format:Y-m-d',
'end_at' => 'required|date_format:Y-m-d'
];
}
使用PostMan我发送有效载荷:
rental_id = 1 as text
start_at = 2015-02-30 as text
end_at = 2015-02-30 as text
它会抛出一个NotFoundHttpException,但如果我在验证器请求中注释掉start_at和end_at,它会通过适当的有效负载进入我的控制器操作:
{
"rental_id": "1",
"start_at": "2015-02-30",
"end_at": "2015-02-30"
}
答案 0 :(得分:2)
显然,date_format验证失败了,因为我随机选择2015-02-30来测试我的API,但那一天不存在,因为那将是2月30日...哦,耻辱和浪费的时间。感谢@ceejayoz的所有帮助!!!