code: function onRequestSchemaValidation(context, req, reply, next) {
    if (context.matchedAction && context._schemaCompiler) {
      const { schema } = context.matchedAction
      const ret = context._schemaCompiler(schema)(req.payload.pattern)
      if (ret) {
        // promise
        if (typeof ret.then === 'function') {
          // avoid to create a seperate promise
          // eslint-disable-next-line promise/catch-or-return
          ret.then(modifiedPattern => {
            if (modifiedPattern) {
              req.payload.pattern = modifiedPattern
            }
            next()
          }, next)
          return
        }
        if (ret.error) {
          return next(ret.error)
        }
        if (ret.value) {
          req.payload.pattern = ret.value
          return next()
        }
      }
    }
    next()
  }
docs: Only validate when:
  - pattern could be resolved
  - schemaCompiler was found
  @param {*} context
  @param {*} req
  @param {*} reply
  @param {*} next