Laravel 验证 Moment.js 日期
Laravel Validate Moment.js Date
我正在尝试验证 Laravel 中的日期范围,其中数据是从我的 Angular Javascript 发送的。
前端 Angular 使用 moment.js 发送日期范围,如下所示:
var endDate = moment();
var startDate = moment().subtract(29, 'days');
var apiDateRange = {
'startDate': startDate.format(),
'endDate': endDate.format()
};
在控制台中,我可以看到日期是这样发布的:
endDate 2015-09-14T15:39:53+05:30
startDate 2015-08-16T15:39:53+05:30
我正在尝试验证 Laravel 中的日期。通过阅读文档,我发现我需要为此使用 date_format
。但是我弄错了格式。这是我到目前为止尝试过的,但显然是错误的:
$validator = Validator::make($postData, [
'startDate' => 'date_format:"Y-m-d H:i:s.u"|required'
'endDate' => 'date_format:"Y-m-d H:i:s.u"|required'
]);
// AND
$validator = Validator::make($postData, [
'startDate' => 'date_format:"Y-m-d\TH:i:s"|required',
'endDate' => 'date_format:"Y-m-d\TH:i:s"|required',
]);
我阅读了 php date 文档,但我对将 date_format
放在一起感到困惑。有人可以在这里帮助我吗?
我自己的问题的答案是。
我刚刚在发布问题后不久发现使用 laravel date
验证而不是使用 date_format
有效。这就是我现在拥有的:
$validator = Validator::make($postData, [
'startDate' => 'date|required',
'endDate' => 'date|required'
]);
格式化时不能像2015-06-10 01:10:25
那样作为日期字符串传递
var format_to = 'YYYY-MM-DD HH:mm:ss';
var apiDateRange = {
'startDate': startDate.format(format_to),
'endDate': endDate.format(format_to)
};
此外,我认为像 'startDate' => 'required|date'
这样的验证更好
我正在尝试验证 Laravel 中的日期范围,其中数据是从我的 Angular Javascript 发送的。
前端 Angular 使用 moment.js 发送日期范围,如下所示:
var endDate = moment();
var startDate = moment().subtract(29, 'days');
var apiDateRange = {
'startDate': startDate.format(),
'endDate': endDate.format()
};
在控制台中,我可以看到日期是这样发布的:
endDate 2015-09-14T15:39:53+05:30
startDate 2015-08-16T15:39:53+05:30
我正在尝试验证 Laravel 中的日期。通过阅读文档,我发现我需要为此使用 date_format
。但是我弄错了格式。这是我到目前为止尝试过的,但显然是错误的:
$validator = Validator::make($postData, [
'startDate' => 'date_format:"Y-m-d H:i:s.u"|required'
'endDate' => 'date_format:"Y-m-d H:i:s.u"|required'
]);
// AND
$validator = Validator::make($postData, [
'startDate' => 'date_format:"Y-m-d\TH:i:s"|required',
'endDate' => 'date_format:"Y-m-d\TH:i:s"|required',
]);
我阅读了 php date 文档,但我对将 date_format
放在一起感到困惑。有人可以在这里帮助我吗?
我自己的问题的答案是。
我刚刚在发布问题后不久发现使用 laravel date
验证而不是使用 date_format
有效。这就是我现在拥有的:
$validator = Validator::make($postData, [
'startDate' => 'date|required',
'endDate' => 'date|required'
]);
格式化时不能像2015-06-10 01:10:25
那样作为日期字符串传递
var format_to = 'YYYY-MM-DD HH:mm:ss';
var apiDateRange = {
'startDate': startDate.format(format_to),
'endDate': endDate.format(format_to)
};
此外,我认为像 'startDate' => 'required|date'