New-Thanasoft/thanasoft-back/app/Http/Requests/StoreThanatopractitionerRequest.php
2025-11-05 17:09:12 +03:00

58 lines
2.5 KiB
PHP

<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class StoreThanatopractitionerRequest 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' => 'required|exists:employees,id|unique:thanatopractitioners,employee_id',
'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.',
];
}
}