【问题标题】:vuelidate required function - Vye.jsvuelidate 所需功能 - Vye.js
【发布时间】:2019-01-31 14:56:50
【问题描述】:

我使用 vuelidate 插件:

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

我有办法

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

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

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

我如何发送所需的功能?

【问题讨论】:

    标签: javascript vue.js vuejs2 vue-component vuelidate


    【解决方案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
               }  
        }
    

    【讨论】:

      【解决方案2】:

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

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

      或者使用纯函数

      validations: {
          finishedAtYear: {
              isFinishedFill: (value) => { /* do some checks here */ },
          },
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-12-31
        • 1970-01-01
        • 2018-10-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-08-22
        相关资源
        最近更新 更多