Merge branch 'staging' into feature/senior-officer
This commit is contained in:
85
app/Http/Requests/ProsesPenawaranRequest.php
Normal file
85
app/Http/Requests/ProsesPenawaranRequest.php
Normal file
@@ -0,0 +1,85 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Lpj\Http\Requests;
|
||||
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
|
||||
class ProsesPenawaranRequest extends FormRequest
|
||||
{
|
||||
/**
|
||||
* Get the validation rules that apply to the request.
|
||||
*/
|
||||
public function rules(): array
|
||||
{
|
||||
$rules = [
|
||||
'kjpp.*' => 'exists:kjpp,id',
|
||||
'tujuan_penilaian_kjpp_id' => 'required',
|
||||
'jenis_laporan_id' => 'required',
|
||||
'start_date' => 'required',
|
||||
'end_date' => 'required',
|
||||
'catatan' => 'nullable'
|
||||
];
|
||||
|
||||
// if ($this->method() == 'PUT') {
|
||||
// $rules['code'] = 'required|max:50';
|
||||
// } else {
|
||||
// $rules['code'] = 'required|max:50|unique:penawaran,code';
|
||||
// }
|
||||
|
||||
return $rules;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine if the user is authorized to make this request.
|
||||
*/
|
||||
public function authorize(): bool
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
public function messages(): array
|
||||
{
|
||||
return [
|
||||
'code.required' => 'Kode Penawaran Wajib diisi!',
|
||||
'code.max' => 'Kode Penawaran maksimal 255 huruf!',
|
||||
'code.unique' => 'Kode Penawaran tidak boleh sama!',
|
||||
'tujuan_penilaian_kjpp_id.required' => 'Tujuan Penilaian KJPP Wajib diisi!',
|
||||
'jenis_laporan_id.required' => 'Jenis Laporan Wajib diisi!',
|
||||
'start_date.required' => 'Tanggal Awal Wajib diisi!',
|
||||
'end_date.required' => 'Tanggal Akhir Wajib diisi!',
|
||||
];
|
||||
}
|
||||
|
||||
public function withValidator($validator)
|
||||
{
|
||||
$validator->after(function ($validator) {
|
||||
$startDate = strtotime($this->input('start_date'));
|
||||
$endDate = strtotime($this->input('end_date'));
|
||||
$today = strtotime(date('Y-m-d'));
|
||||
|
||||
// Jika dalam keadaan tambah penawaran maka munculkan pesan ini
|
||||
// if ($this->method() !== 'PUT') {
|
||||
// if ($startDate < $today) {
|
||||
// $validator->errors()->add('start_date', 'Tanggal Awal tidak boleh sebelum hari ini.');
|
||||
// }
|
||||
// }
|
||||
|
||||
if ($endDate < $startDate) {
|
||||
$validator->errors()->add('end_date', 'Tanggal Akhir tidak boleh lebih awal dari Tanggal Awal.');
|
||||
}
|
||||
|
||||
|
||||
// Validasi minimal 3 pilihan pada nama_kjpp
|
||||
$namaKjpp = $this->input('kjpp', []);
|
||||
|
||||
// jika nama KJPP itu kosong
|
||||
if (empty($namaKjpp)) {
|
||||
$validator->errors()->add('kjpp', 'Nama KJPP wajib diisi.');
|
||||
}
|
||||
// jika terisi kurang dari 3 item
|
||||
elseif (is_array($namaKjpp) && count($namaKjpp) < 3) {
|
||||
$validator->errors()->add('kjpp', 'Nama KJPP minimal 3 pilihan.');
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user