#javascript #vue.js #vuelidate
Вопрос:
В настоящее время у меня есть атрибут данных с
data() {
return {
stats: {
limit: 100,
score: 0
}
}
}
затем я хочу, чтобы моя проверка находилась в диапазоне от 0 до значения limit
атрибута from data
В настоящее время я использую Vuelidate для проверки атрибутов.
import { required, between } from "vuelidate/lib/validators";
validations: {
stats: {
score: {
between: between(0, this.stats.limit)
}
}
}
Но в настоящее время это не работает. В настоящее время я получаю
Cannot read property limit of undefined
Ответ №1:
контекст валидаторов vuelidate не является экземпляром компонента. Но, поскольку vuelidate передает контекст компонента через контекст функции, вы можете заменить его пользовательской функцией.
import { required, between } from "vuelidate/lib/validators";
function customBetween(value) {
return between(0, this.stats.limit)(value)
}
validations: {
stats: {
score: {
between: customBetween
}
}
}