Verified Commit 679a7580 authored by godotislate's avatar godotislate
Browse files

task: #3262935 Link field validation constraints don't give enough detail

By: joachim
By: andregp
By: larowlan
By: sophiavs
By: alexpott
By: mohit_aghera
By: smustgrave
By: quietone
By: harshitthakore
By: murilohp
By: benjifisher
By: Tauany Bueno
By: dcam
By: rkoller
By: simohell
By: pallavi singh3013
By: godotislate
parent f6d327d1
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -16,7 +16,7 @@
class LinkAccessConstraint extends SymfonyConstraint {

  public function __construct(
    public string $message = "The path '@uri' is inaccessible.",
    public string $message = "The URL '@uri' is inaccessible.",
    ?array $groups = NULL,
    mixed $payload = NULL,
  ) {
+1 −1
Original line number Diff line number Diff line
@@ -16,7 +16,7 @@
class LinkExternalProtocolsConstraint extends SymfonyConstraint {

  public function __construct(
    public string $message = "The path '@uri' is invalid.",
    public string $message = "The URL '@uri' has an invalid protocol.",
    ?array $groups = NULL,
    mixed $payload = NULL,
  ) {
+3 −1
Original line number Diff line number Diff line
@@ -16,7 +16,9 @@
class LinkNotExistingInternalConstraint extends SymfonyConstraint {

  public function __construct(
    public string $message = "The path '@uri' is invalid.",
    public string $notFoundMessage = "The URL '@uri' doesn't exist.",
    public string $invalidParameterMessage = "The URL '@uri' has an invalid parameter.",
    public string $missingParameterMessage = "The URL '@uri' is missing a required parameter.",
    ?array $groups = NULL,
    mixed $payload = NULL,
  ) {
+7 −7
Original line number Diff line number Diff line
@@ -36,23 +36,23 @@ public function validate($value, Constraint $constraint): void {
    }

    if ($url->isRouted()) {
      $allowed = TRUE;
      try {
        $url->toString(TRUE);
      }
      // The following exceptions are all possible during URL generation, and
      // should be considered as disallowed URLs.
      catch (RouteNotFoundException) {
        $allowed = FALSE;
        $this->context->buildViolation($constraint->notFoundMessage, ['@uri' => $value->uri])
          ->atPath('uri')
          ->addViolation();
      }
      catch (InvalidParameterException) {
        $allowed = FALSE;
        $this->context->buildViolation($constraint->invalidParameterMessage, ['@uri' => $value->uri])
          ->atPath('uri')
          ->addViolation();
      }
      catch (MissingMandatoryParametersException) {
        $allowed = FALSE;
      }
      if (!$allowed) {
        $this->context->buildViolation($constraint->message, ['@uri' => $value->uri])
        $this->context->buildViolation($constraint->missingParameterMessage, ['@uri' => $value->uri])
          ->atPath('uri')
          ->addViolation();
      }
+3 −1
Original line number Diff line number Diff line
@@ -16,7 +16,9 @@
class LinkTypeConstraint extends SymfonyConstraint {

  public function __construct(
    public string $message = "The path '@uri' is invalid.",
    public string $invalidMessage = "The URL '@uri' is invalid.",
    public string $onlyInternalMessage = "The URL '@uri' is external, but the @field-label field only supports internal paths.",
    public string $onlyExternalMessage = "The URL '@uri' is internal, but the @field-label field only supports external URLs.",
    ?array $groups = NULL,
    mixed $payload = NULL,
  ) {
Loading