2

我使用 vuelidate 插件:

import { required, maxLength } from 'vuelidate/lib/validators';

我有方法

methods: {
  isFinishedFill() {
    return !!this.disabledFinishedAt || !!this.finishedAtYear;
  }
}

我有 vuelidate 插件。我想发送required我的功能,但我收到错误。

validations: {
  finishedAtYear: {
    required: this.isFinishedFill,
  },
}

我如何发送所需的功能?

4

2 回答 2

1

您可以像这样创建自定义验证器:

  import { required, maxLength } from 'vuelidate/lib/validators';
  //custom validator
  const isFinishedFill =(value, vm) =>  !!vm.disabledFinishedAt || !!vm.finishedAtYear;
   //vm represents the Vue instance 
  export default{
      ...
     validations:{
            finishedAtYear: {
               required,
               isFinishedFill  //<---- use  your custom validator
           }  
    }
于 2019-01-31T15:10:13.143 回答
0

根据文档提供的示例,尝试像这样重写您的代码

validations: {
    finishedAtYear: {
        isFinishedFill: this.isFinishedFill,
    },
}

或者使用纯函数

validations: {
    finishedAtYear: {
        isFinishedFill: (value) => { /* do some checks here */ },
    },
}
于 2019-01-31T15:17:02.487 回答