From 26d87a793fdd15790401bc146d32a173c02a52ff Mon Sep 17 00:00:00 2001 From: gholak tala Date: Thu, 5 Feb 2026 08:33:50 +0000 Subject: [PATCH] NASER convert fa numbers to en --- app/Http/Middleware/ValidationMiddleware.php | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/app/Http/Middleware/ValidationMiddleware.php b/app/Http/Middleware/ValidationMiddleware.php index 53c20ae..24a68f4 100755 --- a/app/Http/Middleware/ValidationMiddleware.php +++ b/app/Http/Middleware/ValidationMiddleware.php @@ -19,6 +19,11 @@ class ValidationMiddleware public function handle(Request $request, Closure $next) { if($request->acceptsJson()){ + //convert fa digits to en digits + $allData = array_merge($request->all(), $request->query()); + $converted = $this->fa2en_numbers($allData); + $request->merge($converted); + $method = $request->getMethod(); $path =$request->path(); if(preg_match('/[0-9]+$/',$request->path(),$match)) { @@ -46,4 +51,16 @@ class ValidationMiddleware } throw new BadRequestHttpException(); } + private function fa2en_numbers($input) { + if (is_string($input)) { + $fa_numbers = ['۰', '۱', '۲', '۳', '۴', '۵', '۶', '۷', '۸', '۹']; + $en_numbers = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']; + return str_replace($fa_numbers, $en_numbers, $input); + } elseif (is_array($input)) { + return array_map([$this, __FUNCTION__], $input); + } else { + return $input; + } + } + }