【问题标题】:How can I set comparison datetime in validation laravel?如何在验证 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 的一个非常强大的扩展..

标签: laravel validation datetime laravel-5.3 required


【解决方案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 仍然有效
猜你喜欢
  • 1970-01-01
  • 2016-11-28
  • 2022-01-02
  • 2016-08-13
  • 1970-01-01
  • 1970-01-01
  • 2021-06-12
  • 2021-06-01
  • 1970-01-01
相关资源
最近更新 更多