close #3121 Fixed:

This commit is contained in:
Cüneyt Şentürk 2024-02-09 11:37:16 +03:00
parent a981c782ae
commit 226c75ce37
4 changed files with 42 additions and 1 deletions

View File

@ -18,7 +18,7 @@ class Category extends FormRequest
return [
'name' => 'required|string',
'type' => 'required|string|in:' . $types->implode(','),
'color' => 'required|string',
'color' => 'required|string|colour',
];
}
}

View File

@ -49,6 +49,10 @@ class Setting extends FormRequest
$rules['number_next'] = 'required|integer';
}
if ($this->request->has('color')) {
$rules['color'] = 'required|string|colour';
}
return $rules;
}

View File

@ -4,6 +4,7 @@ namespace App\Providers;
use App\Models\Setting\Currency;
use Illuminate\Support\ServiceProvider as Provider;
use Illuminate\Support\Str;
use Validator;
class Validation extends Provider
@ -68,6 +69,41 @@ class Validation extends Provider
},
trans('validation.custom.invalid_extension')
);
Validator::extend('colour', function ($attribute, $value, $parameters, $validator) {
$status = false;
$colors = ['gray', 'red', 'yellow', 'green', 'blue', 'indigo', 'purple', 'pink'];
$variants = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900];
foreach ($colors as $color) {
if (! Str::contains($value, $color)) {
continue;
}
foreach ($variants as $variant) {
$name = $color . '-' . $variant;
if (Str::contains($value, $name)) {
$status = true;
break;
}
}
if ($status) {
break;
}
}
if (! $status && Str::contains($value, '#')) {
$status = true;
}
return $status;
},
trans('validation.custom.invalid_colour')
);
}
/**

View File

@ -156,6 +156,7 @@ return [
'invalid_amount' => 'The amount :attribute is invalid.',
'invalid_extension' => 'The file extension is invalid.',
'invalid_dimension' => 'The :attribute dimensions must be max :width x :height px.',
'invalid_colour' => 'The :attribute colour is invalid.',
],
/*