vuelidate требуемая функция
Я использую плагин Vuelidate:
import { required, maxLength } from 'vuelidate/lib/validators';
У меня есть метод
methods: {
isFinishedFill() {
return !!this.disabledFinishedAt || !!this.finishedAtYear;
}
}
И у меня есть плагин vuelidate. Я хочу отправить required
моя функция, но я получаю ошибку.
validations: {
finishedAtYear: {
required: this.isFinishedFill,
},
}
Как я могу отправить нужную функцию?
2 ответа
Решение
Вы можете создать собственный валидатор следующим образом:
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
}
}
На основе примера, предоставленного документами, попробуйте переписать ваш код следующим образом
validations: {
finishedAtYear: {
isFinishedFill: this.isFinishedFill,
},
}
Или используйте чистую функцию
validations: {
finishedAtYear: {
isFinishedFill: (value) => { /* do some checks here */ },
},
}