34 lines
905 B
PHP
34 lines
905 B
PHP
<?php
|
|
|
|
namespace App\Http\Requests;
|
|
|
|
use Illuminate\Foundation\Http\FormRequest;
|
|
use Illuminate\Validation\Rule;
|
|
|
|
class EnsembleStoreOrUpdateRequest extends FormRequest
|
|
{
|
|
public function authorize(): true
|
|
{
|
|
// Adjust authorization logic as needed
|
|
return true;
|
|
}
|
|
|
|
public function rules(): array
|
|
{
|
|
// Get the ID of the ensemble being updated, if any
|
|
$ensembleId = $this->route('ensemble')?->id;
|
|
|
|
return [
|
|
'name' => [
|
|
'required',
|
|
// Composite unique rule on (event_id, name)
|
|
Rule::unique('ensembles')->where(function ($query) {
|
|
return $query->where('event_id', $this->input('event_id'));
|
|
})->ignore($ensembleId),
|
|
],
|
|
'code' => ['required', 'max:6'],
|
|
'event_id' => ['required', 'exists:events,id'],
|
|
];
|
|
}
|
|
}
|