#javascript #yup
#javascript #да
Вопрос:
Допустим, у меня есть следующая схема (один из примеров в документации Yup):
let schema = object({
isSpecial: boolean(),
isBig: boolean(),
count: number().when(['isBig', 'isSpecial'], {
is: true, // alternatively: (isBig, isSpecial) => isBig amp;amp; isSpecial
then: yup.number().min(5),
otherwise: yup.number().min(0),
}),
});
const result = schema.validateSync({
isBig: true,
isSpecial: true,
count: 10,
});
Минимальное count
значение зависит от значения isBig
. Это значение определяется во время выполнения, при вызове validate() .
Есть ли способ, которым я могу каким-то образом получить доступ к «окончательной» схеме и программно проверить, что Yup решил применить?
Что-то вроде:
const { result, finalSchema } = schema.validateSync({
isBig: true,
isSpecial: true,
count: 10,
});
console.log(finalSchema.count.min) // 5
Комментарии:
1. Разговор с создателем Yup об этом здесь: github.com/jquense/yup/issues/1280