如何在验证 laravel 中设置比较日期时间?

Posted

技术标签:

【中文标题】如何在验证 laravel 中设置比较日期时间?【英文标题】:How can I set comparison datetime in validation laravel? 【发布时间】:2018-01-07 19:31:36 【问题描述】:

我使用 laravel 5.3

我的 laravel 验证是这样的:

<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class AddCartRequest extends FormRequest

    public function rules()
    
        return [
            'id'=>'required|numeric',
            ...
            'request_date'=>'required'
        ];
    

如果 request_date 的值为

01-08-2017 13:00:00

我想添加这样的条件:

如果请求日期

我该怎么做?

【问题讨论】:

您很可能需要编写自定义验证规则。 @fubar,怎么做?您尝试用代码回答。在我看来它只需要在这里添加:'request_date'=&gt;'required|...' 但我很困惑添加它 Custom validation rules docs。你先试试,有问题再回来。 尝试使用Carbon。它是 DateTime 的一个非常强大的扩展.. 【参考方案1】:

我觉得你可以用after:date

验证中的字段必须是给定日期之后的值。这 日期将被传递到 PHP strtotime 函数中。

您只需要使用以下内容创建正确的日期字符串:

'request_date'=>'after:'.date(DATE_ATOM, time() + (5 * 60 * 60)),

似乎你也可以像这样链接这些规则:

'request_date' => 'required|date_format:Y-m-d H:i:s|after:5 hours'

【讨论】:

您确定需要使用request_date 值,而不是当前时间? 他要求 ' @gview,我试试这个:'request_date' =&gt; 'required|date_format:Y-m-d H:i:s|after:5 hours',它有效 对 laravel 5.7 仍然有效

以上是关于如何在验证 laravel 中设置比较日期时间?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用另一个 API 的用户群在 laravel 中设置身份验证?

如何在日期选择器对话框中设置日期限制

如何在 Laravel 5.1 中设置 JWT Token 的过期时间

如何在Laravel 7中设置全局的Carbon格式?

尝试在 Laravel 中设置身份验证时出现“ReflectionException Function () 不存在”

如何在android的日期选择器中设置特定日期