如何使用 Vuelidate minValue maxValue
How to use Vuelidate minValue maxValue
我找不到如何检查大于 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
},
},
},
我相信在这种情况下,您的 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) 作为解决方法自定义验证器也可以采用参数,因此您可以编写 greaterThan 自定义验证器,它将采用动态值(此处的相关文档:https://vuelidate.netlify.com/#sub-extra-parameters)
我找不到如何检查大于 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
},
},
},
我相信在这种情况下,您的 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) 作为解决方法自定义验证器也可以采用参数,因此您可以编写 greaterThan 自定义验证器,它将采用动态值(此处的相关文档:https://vuelidate.netlify.com/#sub-extra-parameters)