【问题标题】:Laravel Validate Moment.js DateLaravel 验证 Moment.js 日期
【发布时间】:2015-09-14 10:19:30
【问题描述】:

我正在尝试验证 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 感到困惑。有人可以帮我吗?

【问题讨论】:

    标签: angularjs laravel laravel-5 date-range laravel-validation


    【解决方案1】:

    格式化时不能像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 将在 eloquent 中使用此日期来获取该日期范围内的行。目前,查询以当前日期格式工作。我将尝试查看它是否也可以在日期字符串格式中使用,而无需在像 where('created_at', '>=', $startDate) 这样的查询中使用 Carbon 再次解析它。感谢您的意见。:)
    • 是的,没有概率:),如果您使用日期时间列,那么它肯定会工作:)
    • 甜蜜。那太好了。谢谢@K.Toress
    • 很高兴如果它有帮助:),欢呼
    【解决方案2】:

    我自己的问题的答案是。

    我刚刚在发布我的问题后不久发现使用 laravel date 验证而不是使用 date_format。所以这就是我现在所拥有的:

    $validator = Validator::make($postData, [
                   'startDate' => 'date|required',
                   'endDate' => 'date|required'
               ]);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-24
      • 2021-03-17
      相关资源
      最近更新 更多