假设我有一个带有如下数据的 vue 组件:
data: () => ({
form: {
old_password: {
data: '',
type: 'password',
label: 'Old Password',
},
new_password: {
data: '',
type: 'password',
label: 'New Password',
},
repeat_password: {
data: '',
type: 'password',
label: 'New Password Confirmation',
},
},
}),
数据以这种方式格式化,因为我正在使用另一个插件 ant-design 来构建表单,因此以另一种方式格式化数据不是一种选择。该data
字段将存储实际数据。
然后,我为 vuelidate 设置了以下验证规则。
validations: {
form: {
old_password: {
data: { required },
},
new_password: {
data: { required },
},
repeat_password: {
data: { sameAsPassword: sameAs('new_password') },
},
},
},
规则有效,required
但sameAsPassword
规则无效。它总是返回错误,即使我确定我输入了相同的密码。我想它没有与正确的字段进行比较。如何设置规则以便与正确的字段进行比较?