I am getting an array of objects to backend, where each object contains a service name. The structure looks like below
[{\"serviceName\":\"service1\"},
{\"s
For Joi you can use below which is working fine for me, this will validate that array must have at-least on object with key serviceName-
const Joi = require('joi');
const itemsArray = Joi.array().items(
Joi.object({
serviceName: Joi.string().required(),
})
).min(1).required();
const itemSchema = Joi.array().items(itemsArray).when('checkout_type', {
is: 'guest',
then: Joi.array().required(),
}).required();
let schema = Joi.object().keys({
items: Joi.alternatives().try(itemsArray, itemSchema).required(),
});