*/ public function rules(): array { return [ 'directorat_id' => 'required|exists:directorats,id', 'sub_directorat_id' => 'required|exists:sub_directorats,id', 'job_id' => 'required|exists:jobs,id', 'sub_job_id' => 'required|exists:sub_jobs,id', 'kode' => 'required|string|max:2|min:2|unique:sub_sub_jobs,kode', 'name' => 'required|string|max:50' ]; } /** * Configure the validator instance. */ public function withValidator(Validator $validator): void { $validator->after (function (Validator $validator) { if ($validator->errors ()->any ()) { $error = json_decode ($validator->errors ()->toJson (), true); foreach ($error as $key => $value) { flash ($value[0]); } return redirect ()->route ('job.index')->with ('error', 'Sub Sub Job 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' => 'Sub Sub Job created failed.' ], JsonResponse::HTTP_UNPROCESSABLE_ENTITY)); } }