[Laravel] 自定义配置你的密码验证规则
创建配置文件
config/password.php
<?php
return [
/**
* 最小长度
*/
'minimum_length' => env('PASSWORD_LENGTH', 8),
/**
* 密码要求
*/
'requirements' => [
'[0-9]',
'[a-z]',
'[A-Z]',
'[!@#$%^&*()]',
],
];
编写你的rule 查看相关文档la ravel
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules(): array
{
return [
'email' => [
'required',
'email'
],
'password' => array_merge(
[
'required',
'between:' . config('password.minimum_length', 8) . ',20'
],
array_map(function($requirement) {
return function($attribute, $value, $fail) use ($requirement) {
if (! (bool) preg_match('/' . $requirement . '/', $value)) {
$fail(Lang::get('password.password_requirements.' . $requirement));
}
};
},
config('password.requirements', [
'[0-9]',
'[a-z]',
'[A-Z]',
]))
),
];
}
为你准备好的语言包
resources/lang/zh-cn/passowrd.php
return [
'password_requirements' => [
'[0-9]' => '密码必须至少包含一个整数。',
'[a-z]' => '密码必须至少包含一个小写字母。',
'[A-Z]' => '密码必须至少包含一个大写字母。',
'[!@#$%^&*()]' => '密码必须至少包含一个特殊字符。',
]
]
看看效果?
本作品采用《CC 协议》,转载必须注明作者和本文链接