【问题标题】:Laravel5.1: validate time field (start time should be greater than end time)Laravel5.1:验证时间字段(开始时间应该大于结束时间)
【发布时间】:2015-11-13 02:51:13
【问题描述】:

我是 Laravel 的新手。

我正在尝试验证 $start_time 是否大于 $end_time。它们都是H:i 格式并且来自数据库。

我检查了 Laravel 文档,我得到了 date_format:H:i 格式。

【问题讨论】:

  • 检查 BeforeAfter 在 laravel 中的验证

标签: php laravel


【解决方案1】:

使用自定义验证器对其进行验证,为此您需要在AppServiceProvider 类的boot() 函数下定义新的自定义验证器。查看文档以获取完整描述here

public function boot()
{
    Validator::extend('date_is_greater', function($attribute, $value, $parameters, $validator) {
        return \Carbon\Carbon::createFromFormat($parameters[0],$value)->gt(\Carbon\Carbon::createFromFormat($parameters[0],$parameters[1]));
    });
}

在这种情况下,格式作为第一个参数“H:i”或任何有效的 DateTime 格式传递,而 $start_time 是第二个参数。

【讨论】:

    猜你喜欢
    • 2018-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多