<Form :model="formItem" v-model="formItem.id" ref="formItem" :label-width="80" :rules="validateRules"> <FormItem label="新密码" prop="password"> <Input v-model="formItem.password" type="password"/> </FormItem> <FormItem label="确认密码" prop="pwdCheck"> <Input v-model="formItem.pwdCheck" type="password"/> </FormItem> </Form> export default { name: 'demo', data() { const pwdValidate = (rule, value, callback) => { this.$refs.formItem.validateField('pwdCheck'); callback(); }; const pwdCheckValidate = (rule, value, callback) => { if (this.formItem.password != '' && value == '') { callback(new Error('确认密码不能为空')); } else if (this.formItem.password != value) { callback(new Error('新密码和确认密码应相同')); } else { callback(); } }; return { validateRules: { password: [ {required: false, validator: pwdValidate, trigger: 'blur'} ], pwdCheck: [ {required: false, validator: pwdCheckValidate, trigger: 'blur'} ] } } } }