thinkphp6 内置验证规则并未提供此验证需求;
还好,框架本身支持正则表达式验证功能
所以可以这样写 验证password字段的值是否满足要求:
//统一验证密码复杂度//密码必须包含大小写字母/数字/符号任意两者组合
try{
validate([
'password'=> ['regex'=>
'/^(?![A-Za-z0-9]+$)(?![a-z0-9\W]+$)(?![A-Za-z\W]+$)(?![A-Z0-9\W]+$)[a-zA-Z0-9\W]{6,}$/']],
['password.regex'=> '密码必须包含大小写字母、数字和特殊字符']
) ->check(['password'=> $this->request->post("password")]);
}catch (ValidateException $e) {
// 验证失败 输出错误信息
return json(['error' => 1, 'status' => 0, 'msg' => $e->getError()]);
}
好了,本文内容全部结束,感谢你的阅读,希望能对你有所帮助。