From 9fc46bc1733ebd501fd6832eda07c89fc110698d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=BCneyt=20=C5=9Eent=C3=BCrk?= Date: Thu, 26 Sep 2024 09:44:08 +0100 Subject: [PATCH] Added new rule.. --- app/Providers/Validation.php | 44 ++++++++++++++++++++++++------------ 1 file changed, 30 insertions(+), 14 deletions(-) diff --git a/app/Providers/Validation.php b/app/Providers/Validation.php index dd42ee22d..d1f29de59 100644 --- a/app/Providers/Validation.php +++ b/app/Providers/Validation.php @@ -4,9 +4,9 @@ namespace App\Providers; use App\Models\Setting\Currency; use App\Utilities\Modules; +use Illuminate\Support\Facades\Validator; use Illuminate\Support\ServiceProvider as Provider; use Illuminate\Support\Str; -use Validator; class Validation extends Provider { @@ -17,9 +17,7 @@ class Validation extends Provider */ public function boot() { - $currency_code = null; - - Validator::extend('currency', function ($attribute, $value, $parameters, $validator) use(&$currency_code) { + Validator::extend('currency', function ($attribute, $value, $parameters, $validator) { $status = false; if (!is_string($value)) { @@ -39,13 +37,31 @@ class Validation extends Provider $currency_code = $value; return $status; - }, - trans('validation.custom.invalid_currency', ['attribute' => $currency_code]) - ); + }); - $amount = null; + Validator::replacer('currency', function($message, $attribute, $rule, $parameters) { + return trans('validation.custom.invalid_currency', ['attribute' => $attribute]); + }); - Validator::extend('amount', function ($attribute, $value, $parameters, $validator) use (&$amount) { + Validator::extend('currency_code', function ($attribute, $value, $parameters, $validator) { + $status = false; + + $currency_code = $value; + + $currencies = config('money.currencies'); + + if (array_key_exists($value, $currencies)) { + $status = true; + } + + return $status; + }); + + Validator::replacer('currency_code', function($message, $attribute, $rule, $parameters) { + return trans('validation.custom.invalid_currency', ['attribute' => $attribute]); + }); + + Validator::extend('amount', function ($attribute, $value, $parameters, $validator) { $status = false; if ($value > 0 || in_array($value, $parameters)) { @@ -56,12 +72,12 @@ class Validation extends Provider $status = false; } - $amount = $value; - return $status; - }, - trans('validation.custom.invalid_amount', ['attribute' => $amount]) - ); + }); + + Validator::replacer('amount', function($message, $attribute, $rule, $parameters) { + return trans('validation.custom.invalid_amount', ['attribute' => $attribute]); + }); Validator::extend('extension', function ($attribute, $value, $parameters, $validator) { $extension = $value->getClientOriginalExtension();