|string> */ public function rules(): array { $rules = [ 'journalist_ids' => ['required', 'array'], 'journalist_ids.*' => ['required', 'exists:journalists,id'], 'description' => ['nullable'] ]; if($this->isMethod('post')){ $rules['attachment'] = ['required', 'file', 'mimes:pdf', 'max:2048']; }else{ $rules['attachment'] = ['nullable', 'file', 'mimes:pdf', 'max:2048']; } return $rules; } public function messages(): array { return [ 'journalist_ids.required' => 'Pilih setidaknya satu jurnalis.', 'journalist_ids.array' => 'Jurnalis yang dipilih tidak valid.', 'journalist_ids.*.required' => 'Setiap jurnalis yang dipilih harus valid.', 'journalist_ids.*.exists' => 'Jurnalis yang dipilih tidak ditemukan di database.', 'attachment.required' => 'File pengajuan wajib diunggah.', 'attachment.file' => 'File yang diunggah tidak valid.', 'attachment.mimes' => 'File harus berformat PDF.', 'attachment.max' => 'Ukuran file maksimal 2 MB.', 'description.nullable' => 'Deskripsi boleh kosong.', ]; } }