From a279f5947f6e832d4c35468fdf35d9c4f4ebdbe4 Mon Sep 17 00:00:00 2001 From: Tran Trong Cuong Date: Thu, 6 Feb 2025 00:09:07 +0700 Subject: [PATCH] fix the method explodeExplicitRule to support Numeric Validation (#54478) Co-authored-by: cuong.tt --- src/Illuminate/Validation/ValidationRuleParser.php | 3 ++- tests/Validation/ValidationNumericRuleTest.php | 10 ++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/Illuminate/Validation/ValidationRuleParser.php b/src/Illuminate/Validation/ValidationRuleParser.php index 2d8f5026f091..eccd65102ef7 100644 --- a/src/Illuminate/Validation/ValidationRuleParser.php +++ b/src/Illuminate/Validation/ValidationRuleParser.php @@ -11,6 +11,7 @@ use Illuminate\Support\Str; use Illuminate\Validation\Rules\Date; use Illuminate\Validation\Rules\Exists; +use Illuminate\Validation\Rules\Numeric; use Illuminate\Validation\Rules\Unique; class ValidationRuleParser @@ -99,7 +100,7 @@ protected function explodeExplicitRule($rule, $attribute) $rules = []; foreach ($rule as $value) { - if ($value instanceof Date) { + if ($value instanceof Date || $value instanceof Numeric) { $rules = array_merge($rules, explode('|', (string) $value)); } else { $rules[] = $this->prepareRule($value, $attribute); diff --git a/tests/Validation/ValidationNumericRuleTest.php b/tests/Validation/ValidationNumericRuleTest.php index acb135f84a31..d7f2ca2c7b35 100644 --- a/tests/Validation/ValidationNumericRuleTest.php +++ b/tests/Validation/ValidationNumericRuleTest.php @@ -338,6 +338,16 @@ public function testNumericValidation() ); $this->assertEmpty($validator->errors()->first('numeric')); + + $rule = Rule::numeric()->exactly(10); + + $validator = new Validator( + $trans, + ['numeric' => 10], + ['numeric' => [$rule]] + ); + + $this->assertEmpty($validator->errors()->first('numeric')); } public function testUniquenessValidation()