VeeValidate,确认规则不适用于 ValidationProvider
Posted
技术标签:
【中文标题】VeeValidate,确认规则不适用于 ValidationProvider【英文标题】:VeeValidate, Confirmed rule not working on ValidationProvider 【发布时间】:2019-08-02 04:05:06 【问题描述】:我正在尝试在密码验证提供者上添加 vee-validate 规则并确认密码。 v-validate 必须在我必须向文本框添加规则的地方工作。但就我而言,我必须使用验证提供程序。请帮忙!!!
版本
vee-validate: 2.1.7
vue: 2.9.6
代码
<ValidationObserver ref="adminInfo">
<v-layout row wrap>
<v-flex xs12 md6>
<ValidationProvider name="password" rules="required|min:5|max:35" ref="password">
<v-text-field
solo
v-model="administratorInfo.newPassword"
label="Set New Password"
required
slot-scope="
errors,
valid
"
:error-messages="errors"
:success="valid"
></v-text-field>
</ValidationProvider>
</v-flex>
<v-flex xs12 md6>
<ValidationProvider name="confirm password" rules="'required|confirmed:password'">
<v-text-field
solo
v-model="administratorInfo.cNewPassword"
label="Confirm Password"
required
slot-scope="
errors,
valid
"
:error-messages="errors"
:success="valid"
></v-text-field>
</ValidationProvider>
</v-flex>
</v-layout>
</ValidationObserver>
得到错误:
无法读取未定义的属性“$watch”
【问题讨论】:
【参考方案1】:通过将 ref="password" 替换为 vid="password" 终于找到了解决方案。找到解决方案here。
但我不明白 vid 是什么以及为什么是 vid?
【讨论】:
当使用validation-provider
时,你必须使用vid
而不是ref
:vee-validate.logaretm.com/v2/guide/components/…【参考方案2】:
这可能无关,但请确保您的确认密码 ValidationProvider
中有 v-model
【讨论】:
您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。以上是关于VeeValidate,确认规则不适用于 ValidationProvider的主要内容,如果未能解决你的问题,请参考以下文章
在 IOS 9 中,javascript 警报和确认弹出窗口不适用于 Webkit