Files
mykopkb-be/Modules/Investment/Http/Requests/SalaryContributionRequest.php
T

47 lines
1.5 KiB
PHP

<?php
namespace Modules\Investment\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule;
use Modules\Investment\Enums\SalaryContributionStatus;
class SalaryContributionRequest extends FormRequest
{
public function authorize(): bool
{
return true;
}
public function rules(): array
{
$isCreate = $this->isMethod('POST');
$isUpdate = $this->isMethod('PUT') || $this->isMethod('PATCH');
if (! $isCreate && ! $isUpdate) {
return [];
}
return [
'user_id' => [$isCreate ? 'required' : 'sometimes', 'uuid', 'exists:users,id'],
'investment_type_id' => [$isCreate ? 'required' : 'sometimes', 'uuid', 'exists:investment_types,id'],
'monthly_amount' => ['required', 'numeric', 'gt:0'],
'start_date' => ['required', 'date'],
'end_date' => ['nullable', 'date', 'after_or_equal:start_date'],
'status' => ['required', Rule::enum(SalaryContributionStatus::class)],
];
}
public function messages(): array
{
return [
'user_id.required' => 'Ahli diperlukan.',
'investment_type_id.required' => 'Jenis pelaburan diperlukan.',
'monthly_amount.required' => 'Jumlah bulanan diperlukan.',
'monthly_amount.gt' => 'Jumlah bulanan mestilah lebih daripada 0.',
'start_date.required' => 'Tarikh mula diperlukan.',
'status.required' => 'Status caruman diperlukan.',
];
}
}