Я ДЕЙСТВИТЕЛЬНО не понимаю пользовательскую проверку vuelidate. Это не первый раз, когда у меня возникает эта проблема, и я каждый раз сдавался и взламывал ее вместе по-другому. но я хочу сделать это прямо сейчас.
Я хочу иметь условный валидатор, который проверяет (в данном случае) minValue (0) или minValue (0,01), в зависимости от других вещей на странице.
Встроенные валидаторы типа «конструктор», похоже, не работают, если они не используются точно таким образом: minValue: minValue(x)
Я просто не могу даже после нескольких дней попыток , выясните, как это должно работать.
// this works no problem, but is not conditional
dividend_interest: {
minValue: minValue(0)
}
// tried this, doesn't work
dividend_interest: {
minValue: this.bond.term_length === 0 ? minValue(0) : minValue(0.01),
}
// same with this
dividend_interest: {
minValue: function(val) {
return this.bond.term_length === 0 ? minValue(0) : minValue(0.01)
},
}
// also no success with this one
dividend_interest: {
minValue: minValue(this.bond.term_length === 0 ? 0 : 0.01),
}
Как это может быть так сложно сделать?
официальные документы https://vuelidate.js.org/#sub -optional-validator предлагает внешнюю константу, которая возвращает истину или ложь. хотя это работает, это мне не помогает, потому что он возвращает ТОЛЬКО true или false, а не параметры (для генерации сообщений об ошибках из et c), и я не могу получить доступ к свойствам времени выполнения моего vue instance (например, this.bond.term_length в данном случае).
так как я могу написать простой условный пользовательский валидатор vuelidate, который использует конструктор minValue (или любой другой)?