title: Joi - use 'valid' for specific condition
body: <p>I try to validate the query parameter userId.</p>
  
  <p>If a user is an admin then he can use any user id.</p>
  
  <p>If no - then use the only id from a specific array.</p>
  
  <pre><code>const validUserIds = isUserAdmin ? req.query.userId : userIds;
  const schema = Joi.object().keys({
      userId: Joi.string().optional().regex(UUIDRegex).valid(validUserIds),
    });
  Joi.validate(req.query, schema).then(.....);
  </code></pre>
  
  <p>Problem: When we send bad user id (e.g. 'abc' etc, regex validation should fail) and the user is the admin then validation pass successfully.</p>
  
  <p>Can I create something like this: if the user is the admin then validate only by rexeg if no - validate by regex + valid id list.</p>