*/ public function rules() : array { return [ 'nomor_pinjaman' => 'required|numeric|unique:hapus_buku,nomor_pinjaman', 'kode_jenis_pinjaman' => 'required|numeric', 'kode_debitur' => 'required|numeric', 'nama_debitur' => 'required|string', 'alamat_debitur' => 'nullable|string', 'npwp_debitur' => 'nullable|string', 'kode_cabang' => 'required|string', 'kode_mata_uang' => 'required|string', 'tanggal_hapus_buku' => 'required|date|before:tomorrow', 'nomor_fasilitas' => 'required|string', 'kode_jenis_fasilitas' => 'required|numeric', 'nilai_plafond_awal' => 'required|numeric', 'suku_bunga' => 'required|numeric', 'baki_debet' => 'required|numeric', 'jumlah_bunga' => 'required|numeric', 'jumlah_kewajiban_lain' => 'nullable|numeric', 'total_kewajiban' => 'nullable|numeric', 'total_bunga_extra' => 'required|numeric', 'bunga_ekstra' => 'nullable|numeric', 'bunga_non_ekstra' => 'nullable|numeric', 'denda' => 'nullable|numeric', 'tagihan_lain' => 'nullable|numeric', 'biaya_lain' => 'required|numeric', 'total_all_kewajiban' => 'nullable|numeric', 'memo_persetujuan' => 'nullable|string', 'lama_hari' => 'nullable|numeric', 'proses_hukum' => 'nullable|string', 'komitmen_debitur' => 'nullable|string', '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.hapus_buku.create') ->with('error', 'Hapus Buku 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' => 'Hapus Buku created failed.' ], JsonResponse::HTTP_UNPROCESSABLE_ENTITY)); } protected function prepareForValidation() : void { $this->merge([ 'status' => $this->status=='on' ? 1 : 0, ]); } }