在laravel项目中实现密码强度验证功能推荐扩展包:password-strength

2023-06-01 00:00:00 扩展 验证 强度

在laravel框架让用户输入密码时能验证输入的密码强度验证,方便提示用户的功能。

官方密码强度验证扩展包:

https://packagist.org/packages/schuppo/password-strength


比如:

“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 '正确';
}

相关文章