Laravel中如何实现密码强度验证

寻技术 PHP编程 / Laravel 2023年07月30日 66

本篇内容主要讲解“Laravel中如何实现密码强度验证”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Laravel中如何实现密码强度验证”吧!

laravel 密码强度验证

需求

希望 laravel 框架让用户输入密码时能方便的指定密码强度
包括:

  • “letters” => “:attribute 必须包含至少一个字母。”,

  • “case_diff” => “:attribute 必须包含大小写字母。”,

  • “numbers” => “:attribute 必须包含至少一个数字。”,

  • “symbols” => “:attribute 必须包含至少一个符号。”,
    既可以混合校验,也可以单独校验。

实现:

1、执行 composer 安装

Laravel 6及以上版本按如下方案

composer require schuppo/password-strength:"~2.0"

Laravel 5 按如下方案

composer require schuppo/password-strength:"~1.5"

2、拷贝语言文件

把下面 4 行拷贝到 resources / lang 自己的对应的 validation.php 里

"letters" => ":attribute 必须包含至少一个字母。",
"case_diff" => ":attribute 必须包含大小写字母。",
"numbers" => ":attribute 必须包含至少一个数字。",
"symbols" => ":attribute 必须包含至少一个符号。",

3、使用方式

下面的代码中,要求用户输入的密码必须至少6位,至少包含一个小写字母,且至少包含一个大写字母,且至少包含一个数字。

public function post(Request $request){
$validator = Validator::make($request->all(), [
'name'=>'bail',
'password'=>['bail','required','min:6','case_diff','numbers']
]);

if ($validator->fails()) {
return $validator->errors()->first();
}
return '正确';}

关闭

用微信“扫一扫”