【问题标题】:Laravel - after date validation with date from rules setLaravel - 使用规则集的日期进行日期验证后
【发布时间】:2014-07-26 14:11:07
【问题描述】:

我正在尝试使用after 验证规则验证两个日期以确保一个大于另一个。我的规则是这样设置的:

$rules = array(
 'date_from' => 'required|date_format:"d/m/Y"', 
 'date_to'   => 'required|date_format:"d/m/Y"|after:date_from',
 // more rules ...
);

使用以下值时: date_from = "01/06/2014" 和 date_to = "01/06/2014" 或 date_to = "12/06/2014" 一切都很好,但是.. 使用 12 天以上的任何东西都会失败即date_to = "13/06/2014" 到 date_to = "31/06/2014"

我也试过了,结果是一样的:

$dateFromForm = Input::get('date_from');

$rules = array(
 'date_from'  => 'required|date_format:"d/m/Y"', 
 'date_to'    => 'required|date_format:"d/m/Y"|after:' . $dateFromForm,
);

对我来说很清楚,它将天读作月份,有什么想法我在这里做错了吗?

谢谢

【问题讨论】:

    标签: validation laravel laravel-4


    【解决方案1】:

    如果您查看 Laravel 文档 - 它会说

    日期将被传递到 PHP strtotime 函数中。

    strtotime 的问题在于它假设您使用的是m/d/Y。如果您想要d/m/Y - 您需要将其更改为d-m-Y 才能正确解析。

    所以把你的日期格式改成d-m-Y就行了。

    【讨论】:

    • 立即工作,非常感谢!当 SO 允许我时会接受答案:D
    猜你喜欢
    • 1970-01-01
    • 2014-04-10
    • 2017-09-11
    • 1970-01-01
    • 1970-01-01
    • 2016-09-21
    • 2014-04-27
    • 2014-11-23
    • 1970-01-01
    相关资源
    最近更新 更多