45 lines
1.7 KiB
PHP
45 lines
1.7 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Requests;
|
|
|
|
use Illuminate\Foundation\Http\FormRequest;
|
|
use Illuminate\Validation\Rule;
|
|
|
|
class UpdateLeaveRequest extends FormRequest
|
|
{
|
|
public function authorize(): bool
|
|
{
|
|
return true;
|
|
}
|
|
|
|
public function rules(): array
|
|
{
|
|
return [
|
|
'employee_id' => 'nullable|exists:employees,id',
|
|
'type' => ['nullable', Rule::in(['conge', 'repos', 'feriee'])],
|
|
'status' => ['nullable', Rule::in(['pending', 'approved', 'rejected', 'cancelled'])],
|
|
'start_date' => 'nullable|date',
|
|
'end_date' => 'nullable|date|after_or_equal:start_date',
|
|
'reason' => 'nullable|string',
|
|
'notes' => 'nullable|string',
|
|
'approved_by' => 'nullable|exists:users,id',
|
|
'approved_at' => 'nullable|date',
|
|
];
|
|
}
|
|
|
|
public function messages(): array
|
|
{
|
|
return [
|
|
'employee_id.exists' => 'L\'employé sélectionné est invalide.',
|
|
'type.in' => 'Le type de congé est invalide.',
|
|
'status.in' => 'Le statut du congé est invalide.',
|
|
'start_date.date' => 'La date de début doit être une date valide.',
|
|
'end_date.date' => 'La date de fin doit être une date valide.',
|
|
'end_date.after_or_equal' => 'La date de fin doit être postérieure ou égale à la date de début.',
|
|
'reason.string' => 'Le motif doit être une chaîne de caractères.',
|
|
'notes.string' => 'Les notes doivent être une chaîne de caractères.',
|
|
'approved_by.exists' => 'L\'approbateur sélectionné est invalide.',
|
|
'approved_at.date' => 'La date d\'approbation doit être une date valide.',
|
|
];
|
|
}
|
|
} |