From 85959799735098ce70216252aebbbfa0dd495780 Mon Sep 17 00:00:00 2001 From: Steve Wirt Date: Mon, 5 Jan 2026 12:35:22 -0500 Subject: [PATCH 1/6] Make validation errors more specific. --- src/Exception/ValidationException.php | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/Exception/ValidationException.php b/src/Exception/ValidationException.php index 47d87cb..ab34fe0 100644 --- a/src/Exception/ValidationException.php +++ b/src/Exception/ValidationException.php @@ -25,6 +25,14 @@ class ValidationException extends \InvalidArgumentException public function __construct(string $message, ValidationResult $validationResult) { $this->validationResult = $validationResult; + $errors = $validationResult->getErrors(); + $i =1; + foreach ($errors as $error) { + $pointer = implode(" -> ", $error->dataPointer()); + $invalidValue = $error->data(); + $message .= "\n {$i}) {$pointer}: {$invalidValue}"; + $i++; + } parent::__construct($message); } From 239acff040f6af3b99813182bcbb8b1fe35ed65e Mon Sep 17 00:00:00 2001 From: Steve Wirt Date: Mon, 5 Jan 2026 13:23:45 -0500 Subject: [PATCH 2/6] preventative output --- src/Exception/ValidationException.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Exception/ValidationException.php b/src/Exception/ValidationException.php index ab34fe0..d21f778 100644 --- a/src/Exception/ValidationException.php +++ b/src/Exception/ValidationException.php @@ -29,7 +29,7 @@ public function __construct(string $message, ValidationResult $validationResult) $i =1; foreach ($errors as $error) { $pointer = implode(" -> ", $error->dataPointer()); - $invalidValue = $error->data(); + (string) $invalidValue = $error->data(); $message .= "\n {$i}) {$pointer}: {$invalidValue}"; $i++; } From c25076d6e172fea165e5429903c12dced5f9f5a1 Mon Sep 17 00:00:00 2001 From: Steve Wirt Date: Mon, 5 Jan 2026 13:32:55 -0500 Subject: [PATCH 3/6] Check for datat that might not be a string --- src/Exception/ValidationException.php | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/Exception/ValidationException.php b/src/Exception/ValidationException.php index d21f778..e845196 100644 --- a/src/Exception/ValidationException.php +++ b/src/Exception/ValidationException.php @@ -26,12 +26,15 @@ public function __construct(string $message, ValidationResult $validationResult) { $this->validationResult = $validationResult; $errors = $validationResult->getErrors(); - $i =1; + $i = 1; foreach ($errors as $error) { - $pointer = implode(" -> ", $error->dataPointer()); - (string) $invalidValue = $error->data(); - $message .= "\n {$i}) {$pointer}: {$invalidValue}"; - $i++; + $pointer = implode(" -> ", $error->dataPointer()); + $invalidValue = $error->data(); + if (is_array($invalidValue) || is_object($invalidValue)) { + $invalidValue = json_encode($invalidValue); + } + $message .= "\n {$i}) {$pointer}: {$invalidValue}"; + $i++; } parent::__construct($message); } From 73d262bfb7b6bcf786f0ce6c52cfd0dcfe5053fb Mon Sep 17 00:00:00 2001 From: Steve Wirt Date: Mon, 5 Jan 2026 13:40:29 -0500 Subject: [PATCH 4/6] PHPCS fixes --- src/Exception/ValidationException.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/Exception/ValidationException.php b/src/Exception/ValidationException.php index e845196..5904cc3 100644 --- a/src/Exception/ValidationException.php +++ b/src/Exception/ValidationException.php @@ -28,11 +28,11 @@ public function __construct(string $message, ValidationResult $validationResult) $errors = $validationResult->getErrors(); $i = 1; foreach ($errors as $error) { - $pointer = implode(" -> ", $error->dataPointer()); - $invalidValue = $error->data(); - if (is_array($invalidValue) || is_object($invalidValue)) { - $invalidValue = json_encode($invalidValue); - } + $pointer = implode(" -> ", $error->dataPointer()); + $invalidValue = $error->data(); + if (is_array($invalidValue) || is_object($invalidValue)) { + $invalidValue = json_encode($invalidValue); + } $message .= "\n {$i}) {$pointer}: {$invalidValue}"; $i++; } From 02d6ab6565198c1f7c5f405570c4318089527f3e Mon Sep 17 00:00:00 2001 From: Steve Wirt Date: Mon, 5 Jan 2026 13:47:39 -0500 Subject: [PATCH 5/6] More PHPCS --- src/Exception/ValidationException.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Exception/ValidationException.php b/src/Exception/ValidationException.php index 5904cc3..4f62f70 100644 --- a/src/Exception/ValidationException.php +++ b/src/Exception/ValidationException.php @@ -33,8 +33,8 @@ public function __construct(string $message, ValidationResult $validationResult) if (is_array($invalidValue) || is_object($invalidValue)) { $invalidValue = json_encode($invalidValue); } - $message .= "\n {$i}) {$pointer}: {$invalidValue}"; - $i++; + $message .= "\n {$i}) {$pointer}: {$invalidValue}"; + $i++; } parent::__construct($message); } From aef3be64091e1679cba9f08e751d9b7f79a9fe0a Mon Sep 17 00:00:00 2001 From: Steve Wirt Date: Mon, 5 Jan 2026 17:38:11 -0500 Subject: [PATCH 6/6] Add quotes to make it easier to spot spaces. --- src/Exception/ValidationException.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Exception/ValidationException.php b/src/Exception/ValidationException.php index 4f62f70..982aad0 100644 --- a/src/Exception/ValidationException.php +++ b/src/Exception/ValidationException.php @@ -33,7 +33,7 @@ public function __construct(string $message, ValidationResult $validationResult) if (is_array($invalidValue) || is_object($invalidValue)) { $invalidValue = json_encode($invalidValue); } - $message .= "\n {$i}) {$pointer}: {$invalidValue}"; + $message .= "\n {$i}) {$pointer}: '{$invalidValue}'"; $i++; } parent::__construct($message);