added proper validation message for dimensions

This commit is contained in:
Denis Duliçi 2022-07-24 00:36:20 +03:00
parent 4abd58ad1d
commit 38b2b02281
10 changed files with 200 additions and 61 deletions

View File

@ -3,6 +3,7 @@
namespace App\Http\Requests\Auth; namespace App\Http\Requests\Auth;
use Illuminate\Foundation\Http\FormRequest; use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Support\Str;
class User extends FormRequest class User extends FormRequest
{ {
@ -26,7 +27,9 @@ class User extends FormRequest
$picture = 'nullable'; $picture = 'nullable';
if ($this->files->get('picture')) { if ($this->files->get('picture')) {
$picture = 'mimes:' . config('filesystems.mimes') . '|between:0,' . config('filesystems.max_size') * 1024 . '|dimensions:max_width=1000,max_height=1000'; $picture = 'mimes:' . config('filesystems.mimes')
. '|between:0,' . config('filesystems.max_size') * 1024
. '|dimensions:max_width=' . config('filesystems.max_width') . ',max_height=' . config('filesystems.max_height');
} }
$email = 'required|email:rfc,dns'; $email = 'required|email:rfc,dns';
@ -68,4 +71,17 @@ class User extends FormRequest
'picture' => $picture, 'picture' => $picture,
]; ];
} }
public function messages()
{
$picture_dimensions = trans('validation.custom.invalid_dimension', [
'attribute' => Str::lower(trans_choice('general.pictures', 1)),
'width' => config('filesystems.max_width'),
'height' => config('filesystems.max_height'),
]);
return [
'picture.dimensions' => $picture_dimensions,
];
}
} }

View File

@ -3,6 +3,7 @@
namespace App\Http\Requests\Common; namespace App\Http\Requests\Common;
use Illuminate\Foundation\Http\FormRequest; use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Support\Str;
class Company extends FormRequest class Company extends FormRequest
{ {
@ -16,7 +17,9 @@ class Company extends FormRequest
$logo = 'nullable'; $logo = 'nullable';
if ($this->files->get('logo')) { if ($this->files->get('logo')) {
$logo = 'mimes:' . config('filesystems.mimes') . '|between:0,' . config('filesystems.max_size') * 1024 . '|dimensions:max_width=1000,max_height=1000'; $logo = 'mimes:' . config('filesystems.mimes')
. '|between:0,' . config('filesystems.max_size') * 1024
. '|dimensions:max_width=' . config('filesystems.max_width') . ',max_height=' . config('filesystems.max_height');
} }
return [ return [
@ -27,4 +30,17 @@ class Company extends FormRequest
'logo' => $logo, 'logo' => $logo,
]; ];
} }
public function messages()
{
$logo_dimensions = trans('validation.custom.invalid_dimension', [
'attribute' => Str::lower(trans('settings.company.logo')),
'width' => config('filesystems.max_width'),
'height' => config('filesystems.max_height'),
]);
return [
'logo.dimensions' => $logo_dimensions,
];
}
} }

View File

@ -3,6 +3,7 @@
namespace App\Http\Requests\Common; namespace App\Http\Requests\Common;
use App\Abstracts\Http\FormRequest; use App\Abstracts\Http\FormRequest;
use Illuminate\Support\Str;
class Contact extends FormRequest class Contact extends FormRequest
{ {
@ -46,7 +47,9 @@ class Contact extends FormRequest
} }
if ($this->files->get('logo')) { if ($this->files->get('logo')) {
$logo = 'mimes:' . config('filesystems.mimes') . '|between:0,' . config('filesystems.max_size') * 1024 . '|dimensions:max_width=1000,max_height=1000'; $logo = 'mimes:' . config('filesystems.mimes')
. '|between:0,' . config('filesystems.max_size') * 1024
. '|dimensions:max_width=' . config('filesystems.max_width') . ',max_height=' . config('filesystems.max_height');
} }
return [ return [
@ -59,4 +62,17 @@ class Contact extends FormRequest
'logo' => $logo, 'logo' => $logo,
]; ];
} }
public function messages()
{
$logo_dimensions = trans('validation.custom.invalid_dimension', [
'attribute' => Str::lower(trans_choice('general.pictures', 1)),
'width' => config('filesystems.max_width'),
'height' => config('filesystems.max_height'),
]);
return [
'logo.dimensions' => $logo_dimensions,
];
}
} }

View File

@ -3,6 +3,7 @@
namespace App\Http\Requests\Common; namespace App\Http\Requests\Common;
use App\Abstracts\Http\FormRequest; use App\Abstracts\Http\FormRequest;
use Illuminate\Support\Str;
class Item extends FormRequest class Item extends FormRequest
{ {
@ -16,7 +17,9 @@ class Item extends FormRequest
$picture = $sale_price = $purchase_price = 'nullable'; $picture = $sale_price = $purchase_price = 'nullable';
if ($this->files->get('picture')) { if ($this->files->get('picture')) {
$picture = 'mimes:' . config('filesystems.mimes') . '|between:0,' . config('filesystems.max_size') * 1024 . '|dimensions:max_width=1000,max_height=1000'; $picture = 'mimes:' . config('filesystems.mimes')
. '|between:0,' . config('filesystems.max_size') * 1024
. '|dimensions:max_width=' . config('filesystems.max_width') . ',max_height=' . config('filesystems.max_height');
} }
if ($this->request->get('sale_information') == 'true') { if ($this->request->get('sale_information') == 'true') {
@ -31,11 +34,24 @@ class Item extends FormRequest
'type' => 'required|string', 'type' => 'required|string',
'name' => 'required|string', 'name' => 'required|string',
'sale_price' => $sale_price . '|regex:/^(?=.*?[0-9])[0-9.,]+$/', 'sale_price' => $sale_price . '|regex:/^(?=.*?[0-9])[0-9.,]+$/',
'purchase_price'=> $purchase_price . '|regex:/^(?=.*?[0-9])[0-9.,]+$/', 'purchase_price' => $purchase_price . '|regex:/^(?=.*?[0-9])[0-9.,]+$/',
'tax_ids' => 'nullable|array', 'tax_ids' => 'nullable|array',
'category_id' => 'nullable|integer', 'category_id' => 'nullable|integer',
'enabled' => 'integer|boolean', 'enabled' => 'integer|boolean',
'picture' => $picture, 'picture' => $picture,
]; ];
} }
public function messages()
{
$picture_dimensions = trans('validation.custom.invalid_dimension', [
'attribute' => Str::lower(trans_choice('general.pictures', 1)),
'width' => config('filesystems.max_width'),
'height' => config('filesystems.max_height'),
]);
return [
'picture.dimensions' => $picture_dimensions,
];
}
} }

View File

@ -112,6 +112,12 @@ class Document extends FormRequest
} }
} }
$messages['company_logo.dimensions'] = trans('validation.custom.invalid_dimension', [
'attribute' => Str::lower(trans('settings.company.logo')),
'width' => '1000',
'height' => '1000',
]);
return $messages; return $messages;
} }
} }

View File

@ -3,6 +3,7 @@
namespace App\Http\Requests\Portal; namespace App\Http\Requests\Portal;
use Illuminate\Foundation\Http\FormRequest; use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Support\Str;
class Profile extends FormRequest class Profile extends FormRequest
{ {
@ -18,7 +19,9 @@ class Profile extends FormRequest
$picture = 'nullable'; $picture = 'nullable';
if ($this->files->get('picture')) { if ($this->files->get('picture')) {
$picture = 'mimes:' . config('filesystems.mimes') . '|between:0,' . config('filesystems.max_size') * 1024 . '|dimensions:max_width=1000,max_height=1000'; $picture = 'mimes:' . config('filesystems.mimes')
. '|between:0,' . config('filesystems.max_size') * 1024
. '|dimensions:max_width=' . config('filesystems.max_width') . ',max_height=' . config('filesystems.max_height');
} }
$email = 'required|email:rfc,dns|unique:users,email,' . $id . ',id,deleted_at,NULL'; $email = 'required|email:rfc,dns|unique:users,email,' . $id . ',id,deleted_at,NULL';
@ -39,4 +42,17 @@ class Profile extends FormRequest
'picture' => $picture, 'picture' => $picture,
]; ];
} }
public function messages()
{
$picture_dimensions = trans('validation.custom.invalid_dimension', [
'attribute' => Str::lower(trans_choice('general.pictures', 1)),
'width' => config('filesystems.max_width'),
'height' => config('filesystems.max_height'),
]);
return [
'picture.dimensions' => $picture_dimensions,
];
}
} }

View File

@ -3,6 +3,7 @@
namespace App\Http\Requests\Setting; namespace App\Http\Requests\Setting;
use App\Abstracts\Http\FormRequest; use App\Abstracts\Http\FormRequest;
use Illuminate\Support\Str;
class Setting extends FormRequest class Setting extends FormRequest
{ {
@ -19,10 +20,14 @@ class Setting extends FormRequest
switch ($prefix) { switch ($prefix) {
case 'company': case 'company':
$logo = 'mimes:' . config('filesystems.mimes')
. '|between:0,' . config('filesystems.max_size') * 1024
. '|dimensions:max_width=' . config('filesystems.max_width') . ',max_height=' . config('filesystems.max_height');
$rules = [ $rules = [
'name' => 'required|string', 'name' => 'required|string',
'email' => 'required|email', 'email' => 'required|email',
'logo' => 'mimes:' . config('filesystems.mimes') . '|between:0,' . config('filesystems.max_size') * 1024 . '|dimensions:max_width=1000,max_height=1000', 'logo' => $logo,
]; ];
break; break;
@ -38,4 +43,17 @@ class Setting extends FormRequest
return $rules; return $rules;
} }
public function messages()
{
$logo_dimensions = trans('validation.custom.invalid_dimension', [
'attribute' => Str::lower(trans('settings.company.logo')),
'width' => config('filesystems.max_width'),
'height' => config('filesystems.max_height'),
]);
return [
'logo.dimensions' => $logo_dimensions,
];
}
} }

View File

@ -5,6 +5,7 @@ namespace App\Http\Requests\Wizard;
use App\Abstracts\Http\FormRequest; use App\Abstracts\Http\FormRequest;
use App\Traits\Modules as RemoteModules; use App\Traits\Modules as RemoteModules;
use Illuminate\Validation\Factory as ValidationFactory; use Illuminate\Validation\Factory as ValidationFactory;
use Illuminate\Support\Str;
class Company extends FormRequest class Company extends FormRequest
{ {
@ -31,17 +32,32 @@ class Company extends FormRequest
$logo = 'nullable'; $logo = 'nullable';
if ($this->files->get('logo')) { if ($this->files->get('logo')) {
$logo = 'mimes:' . config('filesystems.mimes') . '|between:0,' . config('filesystems.max_size') * 1024 . '|dimensions:max_width=1000,max_height=1000'; $logo = 'mimes:' . config('filesystems.mimes')
. '|between:0,' . config('filesystems.max_size') * 1024
. '|dimensions:max_width=' . config('filesystems.max_width') . ',max_height=' . config('filesystems.max_height');
} }
$rules = [ $rules = [
'logo' => $logo, 'logo' => $logo,
]; ];
if (!setting('apps.api_key', false) && !empty($this->request->get('api_key'))) { if (! setting('apps.api_key', false) && ! empty($this->request->get('api_key'))) {
$rules['api_key'] = 'string|check'; $rules['api_key'] = 'string|check';
} }
return $rules; return $rules;
} }
public function messages()
{
$logo_dimensions = trans('validation.custom.invalid_dimension', [
'attribute' => Str::lower(trans('settings.company.logo')),
'width' => config('filesystems.max_width'),
'height' => config('filesystems.max_height'),
]);
return [
'logo.dimensions' => $logo_dimensions,
];
}
} }

View File

@ -45,6 +45,24 @@ return [
'max_size' => env('FILESYSTEM_MAX_SIZE', '2'), 'max_size' => env('FILESYSTEM_MAX_SIZE', '2'),
/*
|--------------------------------------------------------------------------
| Allowed image max width, in pixes
|--------------------------------------------------------------------------
*/
'max_width' => env('FILESYSTEM_MAX_WIDTH', '1000'),
/*
|--------------------------------------------------------------------------
| Allowed image max height, in pixes
|--------------------------------------------------------------------------
*/
'max_height' => env('FILESYSTEM_MAX_HEIGHT', '1000'),
/* /*
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------
| Filesystem Disks | Filesystem Disks

View File

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