Laravel 密码强度验证

laravel 密码强度验证

本文编写时间:2023-03-18

需求

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

  • “letters” => “:attribute 必须包含至少一个字母。”,
  • “case_diff” => “:attribute 必须包含大小写字母。”,
  • “numbers” => “:attribute 必须包含至少一个数字。”,
  • “symbols” => “:attribute 必须包含至少一个符号。”,
    既可以混合校验,也可以单独校验。
    官网:packagist.org/packages/schuppo/pas...

实现:

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

总结

真香

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
未填写
文章
50
粉丝
7
喜欢
60
收藏
94
排名:592
访问:1.3 万
私信
所有博文
社区赞助商