[Laravel] 自定义配置你的密码验证规则

创建配置文件 config/password.php

<?php

return [

    /**
     * 最小长度
     */
    'minimum_length' => env('PASSWORD_LENGTH', 8),

    /**
     * 密码要求
     */
    'requirements'   => [
        '[0-9]',
        '[a-z]',
        '[A-Z]',
        '[!@#$%^&*()]',
    ],
];

编写你的rule 查看相关文档la ravel

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules(): array
    {
        return [
            'email' => [
                'required',
                'email'
            ],
            'password'  => array_merge(
                [
                    'required',
                    'between:' . config('password.minimum_length', 8) . ',20'
                ],
                array_map(function($requirement) {
                    return function($attribute, $value, $fail) use ($requirement) {
                        if (! (bool) preg_match('/' . $requirement . '/', $value)) {
                            $fail(Lang::get('password.password_requirements.' . $requirement));
                        }
                    };
                },
                config('password.requirements', [
                    '[0-9]',
                    '[a-z]',
                    '[A-Z]',
                ]))
            ),
        ];
    }

为你准备好的语言包 resources/lang/zh-cn/passowrd.php

return [
    'password_requirements' => [
        '[0-9]'         => '密码必须至少包含一个整数。',
        '[a-z]'         => '密码必须至少包含一个小写字母。',
        '[A-Z]'         => '密码必须至少包含一个大写字母。',
        '[!@#$%^&*()]'  => '密码必须至少包含一个特殊字符。',
    ]
]

看看效果?

filefilefile

本作品采用《CC 协议》,转载必须注明作者和本文链接
Mujin
Mumujin
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!