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

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