New-Thanasoft/thanasoft-back/app/Http/Requests/UpdateThanatopractitionerRequest.php
2025-11-11 17:45:58 +03:00

63 lines
2.6 KiB
PHP

<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule;
class UpdateThanatopractitionerRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return true; // Add your authorization logic here
}
/**
* Get the validation rules that apply to the request.
*
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array|string>
*/
public function rules(): array
{
return [
'employee_id' => [
'nullable',
'exists:employees,id',
Rule::unique('thanatopractitioners', 'employee_id')->ignore($this->route('thanatopractitioner'))
],
'diploma_number' => 'nullable|string|max:191',
'diploma_date' => 'nullable|date',
'authorization_number' => 'nullable|string|max:191',
'authorization_issue_date' => 'nullable|date',
'authorization_expiry_date' => 'nullable|date|after_or_equal:authorization_issue_date',
'notes' => 'nullable|string',
];
}
/**
* Get the error messages for the defined validation rules.
*
* @return array<string, string>
*/
public function messages(): array
{
return [
'employee_id.required' => 'L\'employé est obligatoire.',
'employee_id.exists' => 'L\'employé sélectionné n\'existe pas.',
'employee_id.unique' => 'Cet employé est déjà enregistré comme thanatopractitioner.',
'diploma_number.string' => 'Le numéro de diplôme doit être une chaîne de caractères.',
'diploma_number.max' => 'Le numéro de diplôme ne peut pas dépasser :max caractères.',
'diploma_date.date' => 'La date d\'obtention du diplôme doit être une date valide.',
'authorization_number.string' => 'Le numéro d\'autorisation doit être une chaîne de caractères.',
'authorization_number.max' => 'Le numéro d\'autorisation ne peut pas dépasser :max caractères.',
'authorization_issue_date.date' => 'La date de délivrance de l\'autorisation doit être une date valide.',
'authorization_expiry_date.date' => 'La date d\'expiration de l\'autorisation doit être une date valide.',
'authorization_expiry_date.after_or_equal' => 'La date d\'expiration doit être égale ou postérieure à la date de délivrance.',
'notes.string' => 'Les notes doivent être une chaîne de caractères.',
];
}
}