function IconPackManager::validateDefinition
Validates a definition against the JSON schema specification.
Parameters
array $definition: The definition to alter.
Return value
bool FALSE if the response failed validation, otherwise TRUE.
Throws
\Drupal\Core\Theme\Icon\Exception\IconPackConfigErrorException Thrown when the definition is not valid.
1 call to IconPackManager::validateDefinition()
- IconPackManager::processDefinition in core/
lib/ Drupal/ Core/ Theme/ Icon/ Plugin/ IconPackManager.php - Performs extra processing on plugin definitions.
File
-
core/
lib/ Drupal/ Core/ Theme/ Icon/ Plugin/ IconPackManager.php, line 403
Class
- IconPackManager
- Defines an icon pack plugin manager to deal with icons.
Namespace
Drupal\Core\Theme\Icon\PluginCode
private function validateDefinition(array $definition) : bool {
// If the validator isn't set, then the validation library is not installed.
if (!$this->validator) {
return TRUE;
}
$schema_ref = sprintf('file://%s/%s', $this->appRoot, self::SCHEMA_VALIDATE);
$schema = (object) [
'$ref' => $schema_ref,
];
$definition_object = Validator::arrayToObjectRecursive($definition);
$this->validator
->validate($definition_object, $schema, Constraint::CHECK_MODE_COERCE_TYPES);
if ($this->validator
->isValid()) {
return TRUE;
}
$message_parts = array_map(static fn(array $error): string => sprintf("[%s] %s", $error['property'], $error['message']), $this->validator
->getErrors());
$message = implode(", ", $message_parts);
throw new IconPackConfigErrorException(sprintf('%s:%s Error in definition `%s`:%s', $definition['provider'], $definition['id'], $definition_object->id, $message));
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.