是否有一个vuelidate notSameAs验证器

时间:2018-04-11 16:11:51

标签: vuejs2 vuelidate

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

我已尝试在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导入正确的项目并不像文档中所说的那么容易。

2 个答案:

答案 0 :(得分:0)

提示:

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))
}

答案 1 :(得分:0)

使用not

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

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