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

jQuery表单验证equalTo规则不生效 密码匹配仍提示错误

故障原因

该校验不通过的核心原因是equalTo规则的选择器无法匹配到目标元素:

  • jQuery Validate 插件的equalTo规则会根据传入的选择器查找DOM元素,读取元素值做相等性比对。你的校验规则里写的是equalTo: '#new_password',这是ID选择器,只会匹配id="new_password"的元素。
  • 查看你的HTML代码,新密码输入框仅配置了name="new_password"属性,没有设置对应id,导致插件找不到要比对的新密码输入框,无法获取正确的新密码值,因此无论确认密码输入什么内容,都会触发不匹配的报错。
  • 额外存在一处不合理配置:新密码、确认密码输入框的type属性被设为text,会导致输入的密码明文展示,存在安全风险。
修复方法

两种方案二选一即可:

  • 方案一(推荐):给新密码输入框添加id="new_password"属性,同时建议将两个密码输入框的type改回password:
<form class="form-password" id="formId" method="POST"> 
    <input type="password" name="old_password" class="form-control bsdbsdhdhu" placeholder="Enter Old Password">
    <input type="password" class="form-control bsdbsdhdhu" id="new_password" name="new_password" placeholder="Enter New Password">
    <input type="password" class="form-control bsdbsdhdhu" name="retype_password" placeholder="Enter Re-enter Password">
    <button type="submit" class="submit-button">Submit</button>
</form>
  • 方案二:不修改HTML,直接调整equalTo的选择器,通过name属性匹配新密码输入框:
retype_password: {
    required: true,
    minlength: 8,
    equalTo: 'input[name="new_password"]'
}

内容的提问来源于stack exchange,提问作者Manoj Kamble

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 03:21:45