有没有 vuelidate notSameAs 验证器

is there a vuelidate notSameAs validator

我遇到了这个关于简单密码更改表单的问题,我想在其中确保新密码与旧密码不同

我尝试在 documentation 之后直接实施它:

import { ref, withParams } from 'vuelidate/lib/validators'
export const differsFrom = equalTo => withParams(
  {type: 'differsFrom', eq: equalTo},
  function (value, parentVm) {
    return value !== ref(equalTo, this, parentVm)
  }
)

现在,从 vuelidate 导入正确的项目并不像文档中描述的那么容易。

提示:

withParams 不是那里的函数,必须像这样导入它:

import { withParams } from 'vuelidate/lib/params'

我找不到如何正确导入 ref...它一直说它不是函数。

现在,not 验证器的实现同样有效:

import { withParams } from 'vuelidate/lib/params'
export const not = validator => {
  return withParams({type: 'not'}, (...args) => !validator(...args))
}

使用not:

import { sameAs, not } from 'vuelidate/lib/validators'

export default {
  data () {
    return {
      password: '',
      oldPassword: ''
    }
  },
  validations: {
    password: {
      not(sameAs('oldPassword'))
    }
  }
}