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 协议》,转载必须注明作者和本文链接