*/ public function rules() : array { return [ 'nomor_pinjaman' => 'required|integer', 'kode_debitur' => 'required|integer', 'nama_debitur' => 'required|string', 'kode_cabang' => 'required|string', 'nama_cabang' => 'required|string', 'nomor_rekening' => 'required|numeric', 'nama_rekening' => 'required|string', 'plafond' => 'required|numeric', 'tenor' => 'required|integer', 'tanggal_pengajuan_klaim' => 'required|date', 'piutang_subrogasi' => 'required|numeric', 'total_bayar_subrogasi' => 'required|numeric', 'sisa_piutang_subrogasi' => 'required|numeric', 'is_lunas_subrogasi' => 'nullable|boolean', 'keterangan' => 'nullable|string', 'status' => 'nullable|boolean', ]; } public function ignored() : string { return $this->id; } /** * Configure the validator instance. */ public function withValidator(Validator $validator) : void { $validator->after(function (Validator $validator) { if ($validator->errors()->any()) { $errors = json_decode($validator->errors()->toJson(), true); foreach ($errors as $key => $value) { flash($value[0]); } return redirect() ->route('pencatatan.subrogasi_jamkrindo.index') ->with('error', 'Subrogasi Jamkrindo created failed.'); } }); } protected function failedValidation(Validator|\Illuminate\Contracts\Validation\Validator $validator) : JsonResponse { $errors = (new ValidationException($validator))->errors(); throw new HttpResponseException(response()->json([ 'success' => false, 'errors' => $errors, 'messages' => 'Subrogasi Jamkrindo created failed.' ], JsonResponse::HTTP_UNPROCESSABLE_ENTITY)); } protected function prepareForValidation() : void { $this->merge([ 'dana_hasil_klaim' => str_replace('', '', $this->dana_hasil_klaim), 'nilai_penyelesaian' => str_replace(',', '', $this->nilai_penyelesaian), 'sisa_dana_ksl' => $this->dana_hasil_klaim - $this->nilai_penyelesaian, 'jumlah_debitur_sisa_ksl' => $this->jumlah_debitur_excel - $this->jumlah_debitur_penyelesaian, ]); } }