58 lines
2.5 KiB
PHP
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.',
|
|
];
|
|
}
|
|
}
|