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

Laravel+React重置密码返回422密码确认不匹配错误

问题根因

422密码确认不匹配报错和你输入的密码内容无关,是前端提交请求时参数名拼写错误导致后端未接收到密码确认字段,触发Laravel的confirmed校验规则失败。
你前端构造FormData的代码里,确认密码字段少写了一个字母s:

// 错误代码:password拼成了pasword
formData.append('pasword_confirmation', password_confirmation);

Laravel的confirmed校验规则逻辑是:被校验的password字段,必须配套存在名为password_confirmation的同值字段,只要该字段缺失、值不匹配都会抛出你遇到的报错。你这里字段名拼错,后端相当于完全没收到确认密码参数,自然判定校验不通过。

修复步骤
  1. 修正前端参数拼写错误,将错误的append语句替换为:
formData.append('password_confirmation', password_confirmation);
  1. 可选优化:当前场景不需要使用FormData传参,直接传递JSON对象更简洁,axios会自动适配请求头,修改后的提交逻辑参考:
const login = (e) => {
  e.preventDefault();
  axios.post(`${API_ENDPOINT}/api/reset-password`, {
    email,
    password,
    token,
    password_confirmation
  }).then(res => {
    // 补充你的成功回调逻辑
    console.log(res.data)
  })
}

排查这类参数校验问题时,可以先在Laravel方法里打印$request->all()查看实际接收到的参数,能快速定位字段缺失、命名错误类问题。

内容的提问来源于stack exchange,提问作者syrine bh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 12:01:06