【问题标题】:Laravel - Validate birth date 18 years before today in rules requestLaravel - 在规则请求中验证今天之前 18 年的出生日期
【发布时间】:2021-10-06 08:06:23
【问题描述】:

在 Laravel 8 表单请求验证的规则中,我有这个出生日期验证:

public function rules()
{
    return [
        'birth_date' => [
            'required',
            'before: date("Y-m-d")'
        ],
    ];
}

我如何验证它是否小于或等于今天的日期 18 年?

【问题讨论】:

    标签: laravel


    【解决方案1】:

    使用Carbon(Laravel 内置):

    public function rules() {
      return [
        'birth_date' => [
          'required',
          'date_format:Y-m-d',
          'before:' . Carbon::now()->subYears(18)->format('Y-m-d')
        ],
      ];
    }
    

    这将生成before:2003-07-30。确保在此文件的顶部包含use Carbon\Carbon;,或者使用Carbon\Carbon::now()->subYears(18)->format('Y-m-d');

    【讨论】:

    • 谢谢@TimLewis - 如果我想在今天之前验证它怎么样?
    • 同样的想法,'before: ' . Carbon::now()->format('Y-m-d') ? 或者,你应该可以在更高版本的 Laravel 中使用 before:today
    • 检查 Carbon 的文档:carbon.nesbot.com,有很多用于构造日期/时间的有用方法
    猜你喜欢
    • 1970-01-01
    • 2019-02-28
    • 1970-01-01
    • 2016-10-02
    • 1970-01-01
    • 2020-09-16
    • 2015-04-30
    • 2019-10-11
    • 1970-01-01
    相关资源
    最近更新 更多