【问题标题】:How to validate form request for date?如何验证日期的表单请求?
【发布时间】:2018-04-29 23:03:37
【问题描述】:

day 的值必须是数字

从 1 到 9 的天的值必须是

01,02,03,04,05,06,07,08,09

day 的值是 01-31 的数字(因为一个月最多有 31 天)

'day' => 'required|date_format:"d"',

我试过这样做,但是当一天是 1 时,它仍然过去了。当它应该失败时。

【问题讨论】:

标签: laravel


【解决方案1】:

Laravels date_format 验证 uses PHP date_parse_from_format method 接受一个不带 'd'​​ 前导零的整数

您可以编写自定义日期格式函数,也可以将min:2 添加到您的规则中作为快速修复。

例如。

'day' => 'required|min:2|date_format:"d"',

【讨论】:

    【解决方案2】:

    我会使用正则表达式来完成此操作,因为格式需要前导零:

    'day' => 'required|integer|max:31|regex:[0-3][0-9]'
    

    这样您期望两位数,并且这两位数在一个月内不会超过 31 天。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-09-02
      • 2017-06-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-07
      相关资源
      最近更新 更多