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 协议》,转载必须注明作者和本文链接
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

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