Я использую модуль npm Joi
для проверки запроса.Здесь мой код, для которого я ожидаю ошибку из запроса, поскольку fooReq
требуется, если invoice_number
, но Джой не возвращает ошибку.
let fooReq = Joi.object({
city: Joi.string().required(),
zip: Joi.string().required(),
}).required();
let fooOpt = Joi.object({
city: Joi.string(),
state: Joi.string(),
}).optional();
let barSch = {
invoice_number: Joi.string(),
shipping: Joi.alternatives()
.when('invoice_number',
{
is: Joi.string(),
then: fooReq,
otherwise: fooOpt
}
)
};
let request = {
invoice_number: "123"
};
console.log(Joi.validate(request, barSch));