title: Joi validation of array
body: <p>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 :(</p>
  <pre class="lang-js prettyprint-override"><code>validate: {
      headers: Joi.object({
              'content-type': &quot;application/vnd.api+json&quot;,
              accept: &quot;application/vnd.api+json&quot;
      }).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()
      })
  }
  </code></pre>