2

我找不到如何检查大于 0 的方法,因为它minValue(0)也接受 0,但如果使用,minValue(1)则也不接受 0 和 1 之间的任何小数。

另外我不知道为什么我不能使用数据中的变量/为下面的 maxValue 计算。如果我使用它可以工作maxValue(200),但我需要它是动态的。

validations: {
    form: {
        amount: {
            maxValue: maxValue(this.maxAmount), // Uncaught TypeError: Cannot read property 'maxAmount' of undefined
        },
    },
},
validations: {
    form: {
        amount: {
            maxValue: maxValue(maxAmount), // Uncaught ReferenceError: maxAmount is not defined
        },
    },
},
4

1 回答 1

12

我相信在这种情况下,您validations需要成为一个函数,而不是一个对象。

validations() {
  return {
    form: {
      amount: { maxValue: maxValue(this.maxValue) }
    }
  }
}

您可以在此处找到相关示例:https ://vuelidate.netlify.com/#sub-dynamic-parameters

- 编辑 -

关于大于 0 的值,从我的评论中复制:

我不完全确定,但似乎没有针对这种情况的内置验证器。您可以编写自己的验证器,看起来或多或少像这样:

const greaterThanZero = (value) => value > 0

validations() {
  form: {
    amount: {
      maxValue: greaterThanZero
    }
  } 
}

或者您可以使用 minValue(0.00000001) 作为解决方法自定义验证器也可以采用参数,因此您可以编写大于将采用动态值的自定义验证器(此处的相关文档:https ://vuelidate.netlify.com/#sub-extra -参数

于 2019-03-29T08:46:25.897 回答