You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel 10强密码验证无法正常工作,如何正确实现?

Laravel 10 强密码验证修复方案

1. 确认必要类导入

先确保代码顶部已经导入Laravel官方的密码验证规则类:

use Illuminate\Validation\Rules\Password;

2. 修正验证规则写法

你的代码中字符串规则与规则对象的组合方式存在问题,以下两种正确写法任选其一:

写法一:链式整合所有规则

将required和confirmed直接整合到规则链中,语法更统一:

'password' => [
    Password::min(8)
        ->letters()
        ->mixedCase()
        ->numbers()
        ->symbols()
        ->uncompromised()
        ->required()
        ->confirmed()
],

写法二:数组拆分规则

如果要保留字符串规则形式,需将required|confirmed拆分为独立的数组元素,避免与规则对象冲突:

'password' => [
    'required',
    'confirmed',
    Password::min(8)
        ->letters()
        ->mixedCase()
        ->numbers()
        ->symbols()
        ->uncompromised()
],

3. 排查额外问题

  • 若规则仍不生效,检查控制器中是否正确调用了验证方法(比如$request->validate()),前端是否通过@error('password')指令正确渲染错误提示。
  • uncompromised()规则依赖外部API,若服务器无法访问haveibeenpwned.com,可先移除该规则测试基础验证逻辑是否正常,后续再处理网络访问权限问题。

内容的提问来源于stack exchange,提问作者Abdul Aziz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 06:00:55