[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
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

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