src/Plugin/Validation/Constraint/RelativeLinkFieldItemConstraintValidator.php
<?php namespace Drupal\stanford_fields\Plugin\Validation\Constraint; use Drupal\Core\DependencyInjection\ContainerInjectionInterface;use Symfony\Component\DependencyInjection\ContainerInterface;use Symfony\Component\HttpFoundation\RequestStack;use Symfony\Component\Validator\Constraint;use Symfony\Component\Validator\ConstraintValidator; /** * Validates the Menu link item constraint. */class RelativeLinkFieldItemConstraintValidator extends ConstraintValidator implements ContainerInjectionInterface { /** * Current request. * * @var \Drupal\path_alias\AliasManagerInterface */ protected $request; /**Doc comment short description must start with a capital letter
Doc comment short description must end with a full stop * {@inheritDoc} */ public static function create(ContainerInterface $container) { return new static($container->get('request_stack')); } /** * Validation constructor. * * @param \Symfony\Component\HttpFoundation\RequestStack $request_stack * Current request stack. */ public function __construct(RequestStack $request_stack) { $this->request = $request_stack->getCurrentRequest(); } /** * {@inheritdoc} */ public function validate($value, Constraint $constraint) { /** @var \Drupal\Core\Field\FieldItemListInterface $value */`syntax error, unexpected '->' (T_OBJECT_OPERATOR)`
Expected 1 space after "?"; 0 found
Expected 1 space before "?"; 0 found $link_uri = $value->get(0)?->get('uri')?->getString(); if ($link_uri && str_contains($link_uri, $this->request->getSchemeAndHttpHost())) { $this->context->addViolation($constraint->absoluteLink); } } }