【问题标题】:is there a vuelidate notSameAs validator是否有 vuelidate notSameAs 验证器
【发布时间】:2018-04-11 16:11:50
【问题描述】:

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

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

【问题讨论】:

    标签: vuejs2 vuelidate


    【解决方案1】:

    使用not:

    import { sameAs, not } from 'vuelidate/lib/validators'
    
    export default {
      data () {
        return {
          password: '',
          oldPassword: ''
        }
      },
      validations: {
        password: {
          not(sameAs('oldPassword'))
        }
      }
    }
    

    【讨论】:

    • not 验证器在提出问题时在 vuelidate 中不存在。感谢您的更新!
    【解决方案2】:

    提示:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-13
      • 2018-12-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-23
      相关资源
      最近更新 更多