vendor/api-platform/core/src/Api/QueryParameterValidator/QueryParameterValidator.php line 46
<?php/** This file is part of the API Platform project.** (c) Kévin Dunglas <dunglas@gmail.com>** For the full copyright and license information, please view the LICENSE* file that was distributed with this source code.*/declare(strict_types=1);namespace ApiPlatform\Api\QueryParameterValidator;use ApiPlatform\Api\FilterLocatorTrait;use ApiPlatform\Exception\FilterValidationException;use Psr\Container\ContainerInterface;/*** Validates query parameters depending on filter description.** @author Julien Deniau <julien.deniau@gmail.com>*/class QueryParameterValidator{use FilterLocatorTrait;private $validators;public function __construct(ContainerInterface $filterLocator){$this->setFilterLocator($filterLocator);$this->validators = [new Validator\ArrayItems(),new Validator\Bounds(),new Validator\Enum(),new Validator\Length(),new Validator\MultipleOf(),new Validator\Pattern(),new Validator\Required(),];}public function validateFilters(string $resourceClass, array $resourceFilters, array $queryParameters): void{$errorList = [];foreach ($resourceFilters as $filterId) {if (!$filter = $this->getFilter($filterId)) {continue;}foreach ($filter->getDescription($resourceClass) as $name => $data) {foreach ($this->validators as $validator) {$errorList = array_merge($errorList, $validator->validate($name, $data, $queryParameters));}}}if ($errorList) {throw new FilterValidationException($errorList);}}}class_alias(QueryParameterValidator::class, \ApiPlatform\Core\Filter\QueryParameterValidator::class);