【问题标题】:Laravel after_or_equal have a problem with certain datesLaravel after_or_equal 某些日期有问题
【发布时间】:2021-08-06 00:17:59
【问题描述】:

您好,我正在输入一个估计日期和一个最大日期,我正在尝试用这个验证最大日期不小于估计日期

'maxdate' => 'required|after_or_equal:estimated_date',

适用于所有日期,但有例外:如果今天是 5 并且我将estimated_date 标记为6 并将maxdate 标记为20,则会抛出错误消息,指出maxdate 不能早于estimated_date

我使用的西班牙语日期是 ('d / m / y)

我该如何解决?

【问题讨论】:

  • 使用date_format 规则。即:'date_format:d/m/Y|after_or_equal:estimated_date'
  • 它可以工作,但它会在这一行产生错误 $t->max_date =Carbon::parse($request->maxdate)->format('Y-d-m');无法解析“20/08/2021”:DateTime::__construct():无法在位置 0 (2) 解析时间字符串 (20/08/2021):意外字符
  • 那是你如何用碳投射日期的另一个问题,它与你问的问题无关stackoverflow.com/questions/55950681/…

标签: laravel validation


【解决方案1】:

您应该对自定义日期格式使用date_format 规则。

例如,如果您有以下请求数据:

{
    "estimated_date": "06/08/2021",
    "maxdate": "20/08/2021"
}

你可以这样做:

$request->validate([
    'estimated_date' => 'date_format:d/m/Y',
    'maxdate' => 'date_format:d/m/Y|after_or_equal:estimated_date'
]);

【讨论】:

    猜你喜欢
    • 2021-04-29
    • 1970-01-01
    • 1970-01-01
    • 2019-11-25
    • 1970-01-01
    • 2020-09-16
    • 2017-11-28
    • 1970-01-01
    • 2014-03-17
    相关资源
    最近更新 更多