Joi validation of array

asked9 years ago
last updated3 years ago
viewed147.7k times
Up Vote102Down Vote

trying to validate that an array has zero or more strings in one case and that it has zero or more objects in another , struggling with Joi docs :(

validate: {
    headers: Joi.object({
            'content-type': "application/vnd.api+json",
            accept: "application/vnd.api+json"
    }).options({ allowUnknown: true }),
    payload : Joi.object().keys({
        data : Joi.object().keys({
            type: Joi.any().allow('BY_TEMPLATE').required(),
            attributes: Joi.object({
                to : Joi.string().email().required(),
                templateId : Joi.string().required(),
                categories : Joi.array().items( //trying to validate here that each element is a string),
                variables : Joi.array({
                    //also trying to validate here that each element is an Object with one key and value
                })
            })
        }).required()
    })
}