33 lines
943 B
PHP
33 lines
943 B
PHP
<?php
|
|
|
|
namespace App\Http\Requests\Concerns;
|
|
|
|
trait ValidatesMediaUploads
|
|
{
|
|
/**
|
|
* @return array<string, mixed>
|
|
*/
|
|
protected function photoRules(string $prefix = 'photos', int $max = 1): array
|
|
{
|
|
return [
|
|
$prefix => ['nullable', 'array', "max:{$max}"],
|
|
"{$prefix}.*" => ['image', 'max:5120'],
|
|
'remove_media_ids' => ['nullable', 'array'],
|
|
'remove_media_ids.*' => ['integer'],
|
|
];
|
|
}
|
|
|
|
/**
|
|
* @return array<string, mixed>
|
|
*/
|
|
protected function variantImageRules(string $variantsKey = 'variants', int $max = 5): array
|
|
{
|
|
return [
|
|
"{$variantsKey}.*.images" => ['nullable', 'array', "max:{$max}"],
|
|
"{$variantsKey}.*.images.*" => ['image', 'max:5120'],
|
|
"{$variantsKey}.*.remove_media_ids" => ['nullable', 'array'],
|
|
"{$variantsKey}.*.remove_media_ids.*" => ['integer'],
|
|
];
|
|
}
|
|
}
|