35 lines
1.1 KiB
PHP
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
|
|
]]
|
|
);
|
|
}
|
|
}
|