- Mengubah validasi field `sla_resume` dan `sla_final` dari `date` menjadi `numeric` dengan nilai minimum 0. - Menghapus pesan validasi terkait batasan tanggal (`sla_resume.date` dan `sla_final.date`) serta validasi urutan (`sla_final.after_or_equal`). - Menyesuaikan pesan kesalahan untuk field SLA agar sesuai dengan aturan validasi baru yang menggunakan tipe numeric.
68 lines
4.2 KiB
PHP
68 lines
4.2 KiB
PHP
<?php
|
|
|
|
namespace Modules\Lpj\Http\Requests;
|
|
|
|
use Illuminate\Foundation\Http\FormRequest;
|
|
|
|
class PersetujuanPenawaranRequest extends FormRequest
|
|
{
|
|
public function authorize()
|
|
{
|
|
return true;
|
|
}
|
|
|
|
public function rules()
|
|
{
|
|
return [
|
|
'penawaran_id' => 'nullable|exists:penawaran,id',
|
|
'nomor_proposal_penawaran' => 'nullable|string|max:255',
|
|
'tanggal_proposal_penawaran' => 'nullable|date',
|
|
'biaya_final' => 'nullable|numeric|min:0',
|
|
'sla_resume' => 'nullable|numeric|min:0',
|
|
'sla_final' => 'nullable|numeric|min:0',
|
|
'file_persetujuan_penawaran' => 'nullable|file|mimes:pdf,doc,docx|max:10240',
|
|
'surat_representasi' => 'nullable|file|mimes:pdf,doc,docx|max:10240',
|
|
'bukti_bayar' => 'nullable|file|mimes:pdf,jpg,jpeg,png|max:10240',
|
|
'status' => 'nullable|boolean',
|
|
'authorized_status' => 'boolean',
|
|
'authorized_at' => 'nullable|date',
|
|
'authorized_by' => 'nullable|exists:users,id',
|
|
'catatan' => 'nullable|string',
|
|
];
|
|
}
|
|
|
|
public function messages()
|
|
{
|
|
return [
|
|
'penawaran_id.required' => 'Penawaran ID wajib diisi.',
|
|
'penawaran_id.exists' => 'Penawaran ID tidak valid.',
|
|
'nomor_proposal_penawaran.required' => 'Nomor proposal penawaran wajib diisi.',
|
|
'tanggal_proposal_penawaran.required' => 'Tanggal proposal penawaran wajib diisi.',
|
|
'tanggal_proposal_penawaran.date' => 'Tanggal proposal penawaran harus berupa tanggal yang valid.',
|
|
'biaya_final.required' => 'Biaya final wajib diisi.',
|
|
'biaya_final.numeric' => 'Biaya final harus berupa angka.',
|
|
'biaya_final.min' => 'Biaya final tidak boleh kurang dari 0.',
|
|
'sla_resume.required' => 'SLA Resume wajib diisi.',
|
|
'sla_final.required' => 'SLA Final wajib diisi.',
|
|
'file_persetujuan_penawaran.file' => 'File Persetujuan Penawaran harus berupa file.',
|
|
'file_persetujuan_penawaran.mimes' => 'File Persetujuan Penawaran harus berupa file PDF, DOC, atau DOCX.',
|
|
'file_persetujuan_penawaran.max' => 'Ukuran File Persetujuan Penawaran tidak boleh lebih dari 10MB.',
|
|
'surat_representasi.file' => 'Surat Representasi harus berupa file.',
|
|
'surat_representasi.mimes' => 'Surat Representasi harus berupa file PDF, DOC, atau DOCX.',
|
|
'surat_representasi.max' => 'Ukuran Surat Representasi tidak boleh lebih dari 10MB.',
|
|
'bukti_bayar.file' => 'Bukti Bayar harus berupa file.',
|
|
'bukti_bayar.mimes' => 'Bukti Bayar harus berupa file PDF, JPG, JPEG, atau PNG.',
|
|
'bukti_bayar.max' => 'Ukuran Bukti Bayar tidak boleh lebih dari 10MB.',
|
|
'region_id.required' => 'Region ID wajib diisi.',
|
|
'region_id.exists' => 'Region ID tidak valid.',
|
|
'status.required' => 'Status wajib diisi.',
|
|
'status.boolean' => 'Status harus berupa nilai boolean.',
|
|
'authorized_status.boolean' => 'Status otorisasi harus berupa nilai boolean.',
|
|
'authorized_at.date' => 'Tanggal otorisasi harus berupa tanggal yang valid.',
|
|
'authorized_by.exists' => 'ID pengguna yang mengotorisasi tidak valid.',
|
|
'status_bayar.required' => 'Status bayar wajib diisi.',
|
|
'status_bayar.in' => 'Status bayar harus berupa "sudah_bayar" atau "belum_bayar".',
|
|
];
|
|
}
|
|
}
|