Ключ объекта, созданный JOI, не может основываться на значении другого ключа

#node.js #typescript #joi #hapi

Вопрос:

У меня есть такой объект, как этот:

 type A = {  type: 'user' | 'technical',  name: string,  vat?: string };  

Я использую joi для проверки пользователя request . Я хотел бы получить подтверждение того, что если type это technical так, то в vat required() противном случае это становится not allowed полем.

На данный момент это моя проверка, где type поле «если user » становится optional :

 type: Joi.valid('user', 'technical').required(), name: Joi.string().min(2).max(30).required(), vat: Joi.string().regex(new RegExp(REGEX_CONSTANTS.VAT_NUMBER)).when('type', { is: 'user', then: Joi.optional() }).required()