【问题标题】:Laravel date_format Validation Fails on Textual MonthLaravel date_format 验证在文本月份失败
【发布时间】:2019-06-25 14:42:30
【问题描述】:

我的 JavaScript 库 datepicker"March 2019." 格式返回日期

Carbon可以解码。

$date = Carbon::createFromFormat('M Y', $request->month);

Laravel 验证 date_format 失败。

$request->validate([
    'month' => [
        'required',
        'date_format:M Y',
    ],
]);

月份与格式 M Y 不匹配。

我已经尝试了来自here 的所有 PHP 日期格式 : 米, 毫米, 毫米, 米。

【问题讨论】:

  • 您可以为您的案例添加以下格式,m ([ \t.-])* YY,如手册所述,它对应于June 2008
  • 如果现有规则不起作用,您可以为此创建自定义规则

标签: php laravel date-formatting


【解决方案1】:
$request->validate([
    'month' => [
        'required',
        'date_format:F Y',
    ],
]);

【讨论】:

  • 谢谢,它有效,我接受了带有链接的答案,另一个花药较早发布并附有评论,这在本网站上很重要。
【解决方案2】:

您使用了错误的格式。您需要使用标准的 PHP 格式,这是 Carbon 和 Laravel 的验证所使用的。您可以在date() 的 PHP 文档中找到它们

所以把你的规则改成:

date_format:"F Y"

【讨论】:

  • 谢谢你,它有效,特别感谢你的链接。
猜你喜欢
  • 2018-03-02
  • 2021-08-09
  • 2014-08-16
  • 1970-01-01
  • 2015-10-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多