original_string: private function validateParam(Credential $config, $param)
      {
          $name = $config->name;
  
          if (null === $requirements = $config->requirements) {
              return;
          }
  
          foreach ($requirements as $constraint) {
              if (is_scalar($constraint)) {
                  $constraint = new Regex([
                      'pattern' => '#^'.$constraint.'$#xsu',
                      'message' => sprintf('Does not match "%s"', $constraint),
                  ]);
              } elseif (is_array($constraint)) {
                  continue;
              }
  
              if ($constraint instanceof UniqueEntity) {
                  $object = $config->class;
                  $accessor = PropertyAccess::createPropertyAccessor();
  
                  if ($accessor->isWritable($object, $name)) {
                      $accessor->setValue($object, $name, $param);
                  } else {
                      throw new BadRequestUserException(
                          sprintf('The @UniqueEntity constraint must be used on an existing property. The class "%s" does not have a property "%s"', get_class($object), $name)
                      );
                  }
  
                  $errors = $this->validator->validate($object, $constraint);
              } else {
                  $errors = $this->validator->validate($param, $constraint);
              }
  
              if (0 !== count($errors)) {
                  $error = $errors[0];
                  throw new BadRequestUserException(
                      $this->formatError($name, $error->getInvalidValue(), $error->getMessage())
                  );
              }
          }
      }
code: private function validateParam(Credential $config, $param)
      {
          $name = $config->name;
  
          if (null === $requirements = $config->requirements) {
              return;
          }
  
          foreach ($requirements as $constraint) {
              if (is_scalar($constraint)) {
                  $constraint = new Regex([
                      'pattern' => '#^'.$constraint.'$#xsu',
                      'message' => sprintf('Does not match "%s"', $constraint),
                  ]);
              } elseif (is_array($constraint)) {
                  continue;
              }
  
              if ($constraint instanceof UniqueEntity) {
                  $object = $config->class;
                  $accessor = PropertyAccess::createPropertyAccessor();
  
                  if ($accessor->isWritable($object, $name)) {
                      $accessor->setValue($object, $name, $param);
                  } else {
                      throw new BadRequestUserException(
                          sprintf('The @UniqueEntity constraint must be used on an existing property. The class "%s" does not have a property "%s"', get_class($object), $name)
                      );
                  }
  
                  $errors = $this->validator->validate($object, $constraint);
              } else {
                  $errors = $this->validator->validate($param, $constraint);
              }
  
              if (0 !== count($errors)) {
                  $error = $errors[0];
                  throw new BadRequestUserException(
                      $this->formatError($name, $error->getInvalidValue(), $error->getMessage())
                  );
              }
          }
      }
code_tokens: private function validateParam ( Credential $ config , $ param ) { $ name = $ config -> name ; if ( null === $ requirements = $ config -> requirements ) { return ; } foreach ( $ requirements as $ constraint ) { if ( is_scalar ( $ constraint ) ) { $ constraint = new Regex ( [ 'pattern' => '#^' . $ constraint . '$#xsu' , 'message' => sprintf ( 'Does not match "%s"' , $ constraint ) , ] ) ; } elseif ( is_array ( $ constraint ) ) { continue ; } if ( $ constraint instanceof UniqueEntity ) { $ object = $ config -> class ; $ accessor = PropertyAccess :: createPropertyAccessor ( ) ; if ( $ accessor -> isWritable ( $ object , $ name ) ) { $ accessor -> setValue ( $ object , $ name , $ param ) ; } else { throw new BadRequestUserException ( sprintf ( 'The @UniqueEntity constraint must be used on an existing property. The class "%s" does not have a property "%s"' , get_class ( $ object ) , $ name ) ) ; } $ errors = $ this -> validator -> validate ( $ object , $ constraint ) ; } else { $ errors = $ this -> validator -> validate ( $ param , $ constraint ) ; } if ( 0 !== count ( $ errors ) ) { $ error = $ errors [ 0 ] ; throw new BadRequestUserException ( $ this -> formatError ( $ name , $ error -> getInvalidValue ( ) , $ error -> getMessage ( ) ) ) ; } } }
docstring: Handle requirements validation.
  
  @param Param $param
  
  @throws BadRequestUserException If the param is not valid
  
  @return Param
docstring_tokens: Handle requirements validation .