From 8cad5c1506a34d33c95ac2d4e614c3fc5c1513fc Mon Sep 17 00:00:00 2001 From: Kathryn Reeve <67553+BinaryKitten@users.noreply.github.com> Date: Thu, 18 Sep 2025 20:22:49 +0100 Subject: [PATCH] Apply intl extension check to ordinal position --- src/Illuminate/Validation/Concerns/FormatsMessages.php | 4 ++++ tests/Validation/ValidationValidatorTest.php | 1 + 2 files changed, 5 insertions(+) diff --git a/src/Illuminate/Validation/Concerns/FormatsMessages.php b/src/Illuminate/Validation/Concerns/FormatsMessages.php index 9cc66433d843..6b1ba8f24195 100644 --- a/src/Illuminate/Validation/Concerns/FormatsMessages.php +++ b/src/Illuminate/Validation/Concerns/FormatsMessages.php @@ -394,6 +394,10 @@ protected function replacePositionPlaceholder($message, $attribute) */ protected function replaceOrdinalPositionPlaceholder($message, $attribute) { + if (! extension_loaded('intl')) { + return $message; + } + return $this->replaceIndexOrPositionPlaceholder( $message, $attribute, 'ordinal-position', fn ($segment) => Number::ordinal($segment + 1) ); diff --git a/tests/Validation/ValidationValidatorTest.php b/tests/Validation/ValidationValidatorTest.php index b23d4c1a426a..e312a4ed0eb3 100755 --- a/tests/Validation/ValidationValidatorTest.php +++ b/tests/Validation/ValidationValidatorTest.php @@ -849,6 +849,7 @@ public function testPositionValuesAreReplaced() $this->assertTrue($v->passes()); } + #[RequiresPhpExtension('intl')] public function testOrdinalPositionValuesAreReplaced() { $trans = $this->getIlluminateArrayTranslator();