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())
                );
            }
        }
    }
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())
                );
            }
        }
    }
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 ( ) ) ) ; } } }
Handle requirements validation.

@param Param $param

@throws BadRequestUserException If the param is not valid

@return Param
Handle requirements validation .