code: protected function validateParams(Route $route, array $params, array $requiredParams)
      {
          $identifier = $this->getRouteIdentifier($route);
          $givenParams = array_keys($params);
  
          $missingParams = array_diff($requiredParams, $givenParams);
  
          if (count($missingParams) > 0) {
              throw new \InvalidArgumentException(
                  sprintf(
                      'Error while validating params "%s": Required parameters "%s" are missing',
                      $identifier,
                      implode(', ', $missingParams)
                  )
              );
          }
  
          if (!$this->matchParams($route, $params)) {
              throw new \InvalidArgumentException(
                  sprintf(
                      'Error while validing params for target "%s": Params don\'t fulfill their matcher\'s criteria',
                      $identifier
                  )
              );
          }
      }
docs: Validates given params against the required ones and
  checks for matcher violations afterwards.
  
  @param Route $route
  @param array $params
  @param array $requiredParams
  @throws \InvalidArgumentException