You are here

protected function PluginTypeBasedConverterTrait::validateParameterDefinition in Plugin 8.2

Validates a route parameter's definition.

Parameters

mixed $definition: The route parameter definition to validate.

Return value

bool

2 calls to PluginTypeBasedConverterTrait::validateParameterDefinition()
PluginTypeBasedConverterTrait::applies in src/ParamConverter/PluginTypeBasedConverterTrait.php
Implements \Drupal\Core\ParamConverter\ParamConverterInterface::applies().
PluginTypeBasedConverterTrait::convert in src/ParamConverter/PluginTypeBasedConverterTrait.php
Implements \Drupal\Core\ParamConverter\ParamConverterInterface::convert().

File

src/ParamConverter/PluginTypeBasedConverterTrait.php, line 126

Class

PluginTypeBasedConverterTrait
Implements \Drupal\Core\ParamConverter\ParamConverterInterface for plugin type-based route parameter converters.

Namespace

Drupal\plugin\ParamConverter

Code

protected function validateParameterDefinition($definition) {
  $validator = Validation::createValidator();
  $constraint = new Collection([
    'allowExtraFields' => TRUE,
    'fields' => [
      $this
        ->getConverterDefinitionKey() => new Optional($this
        ->getConverterDefinitionConstraint()),
    ],
  ]);
  $violations = $validator
    ->validate($definition, $constraint);
  foreach ($violations as $violation) {
    trigger_error(sprintf("Error while validating the route parameter definition in item %s: %s\n\nOriginal data:\n%s", $violation
      ->getPropertyPath(), $violation
      ->getMessage(), var_export($violation
      ->getRoot(), TRUE)), E_USER_WARNING);
  }
  return count($violations) === 0;
}