providerManager = $provider_manager; } /** * {@inheritdoc} */ public static function create(ContainerInterface $container) { return new static( $container->get('video_embed_field.provider_manager') ); } /** * {@inheritdoc} */ public function validate($field, Constraint $constraint) { if (!isset($field->value)) { return NULL; } $allowed_providers = $field->getFieldDefinition()->getSetting('allowed_providers'); $allowed_provider_definitions = $this->providerManager->loadDefinitionsFromOptionList($allowed_providers); if (FALSE === $this->providerManager->filterApplicableDefinitions($allowed_provider_definitions, $field->value)) { $this->context->addViolation($constraint->message); } } }