在laravel项目中实现密码强度验证功能推荐扩展包:password-strength
在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 '正确';
}
相关文章