ldc-legaulois/app/Http/Requests/Club/Bourse/SaveCustomerCollectionRequest.php
2024-10-08 11:57:56 +02:00

35 lines
1.1 KiB
PHP

<?php
namespace App\Http\Requests\Club\Bourse;
use Illuminate\Support\Arr;
use Illuminate\Validation\Rule;
class SaveCustomerCollectionRequest extends CustomerCollectionRequest
{
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules(): array
{
$idEnumRule = '';
return array_merge(
parent::rules(),
['id' => [
// @phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.FoundBeforeLastUsed
function ($attribute, $value, $fail) use (&$idEnumRule) {
/** @var \App\Enums\Departaimants\DepartaimantCollectionType */
$type = $this->route('collectiontype');
if (!Arr::has($this->maps, $type->value())) {
$fail(__CLASS__ . ' does not handle ' . get_class($type) . ' please add it.');
} else {
$idEnumRule = Rule::enum(Arr::get($this->maps, $type->value()));
}
},
$idEnumRule
]]
);
}
}