vee-validate填坑:the xxxx confirmation does not match

本文记录了在使用Vee-Validation进行表单验证时遇到的确认密码不一致的问题及其解决过程。通过调整确认密码字段的配置,明确指定目标密码字段的ref属性,解决了版本差异导致的bug。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天和朋友接了个国外的项目。

启动项目后第一步注册账号的时候就发现填写确认密码时,总是显示和上一行的密码不一致。

我:??

发现表单验证用的是vee-validation,查了下文档,发现项目中设置规则的属性和文档的不一致,但是属性值是一致的(估计是版本不同)。

然后发现confirm这个功能必须显式指定其目标:confirmed:target (如下第三行)

这个target即是要重复验证的表单的一个ref属性(r如下第一行)。

<input v-validate="'required'" ref="password" name="password" type="password" :class="{'is-danger': errors.has('password')}" placeholder="Password" >
<span v-show="errors.has('password')" class="help is-danger">{{ errors.first('password') }}</span>

<input v-validate="'required|confirmed:password'" name="password_confirmation" type="password" :class="{'is-danger': errors.has('password_confirmation')}" placeholder="Password, Again" data-vv-as="password">

然后就正常了。

然后我看了下package-lock.json,发现好些包的版本和client或server中的不一致,原来框架原作者在前后端项目的package.json所有依赖插件的版本号前都加了'^'字符。。导致我们在安装依赖时直接获取新版本。但是代码中却用的是旧版本,所以一些新旧版本语法不同导致bug。。

额。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值