Bagi yang belum tahu apa itu Field Upload, ini adalah field yang berfungsi untuk meng-upload file. Kalau di dalam project PHPMaker, maka kita cukup memilih File dari bagian Fields setup -> panel Edit Tag.
Jika field ini kita set Allow NULL di database, berarti field ini boleh kosong nilainya. Ketika field ini kosong, dan jika ditampilkan pada halaman List dan View di Aplikasi Web, maka hasilnya adalah cell atau area yang kosong sama sekali.
Dengan kata lain, kita tidak dapat mengubah property ViewValue dari object Field tersebut untuk menampilkan nilai tertentu, hanya jika nilai field ini kosong di database.
Di sisi yang lain, kadang-kadang kita ingin menampilkan informasi kepada Pengguna Akhir, bahwa jika belum ada file yang di-upload, maka ada pesan yang kira-kira berbunyi seperti ini: belum ada file yang di-upload.
Pertanyaannya adalah, bagaimana cara menampilkan pesan tersebut pada field tadi, sementara yang kita ketahui, PHPMaker tidak mengijinkan kita untuk mengubah property ViewValue dari object Field yang tipe-nya File tadi jika nilainya kosong di database?
Bukan PHPMaker namanya, jika kita tidak dapat mengatasinya. Selalu saja ada solusi di balik suatu masalah.
Sekarang kita bisa menangani kondisi jika belum ada file yang di-upload, maka kita dapat menampilkan pesan pada field tersebut. Bagaimana caranya?
Ternyata mudah sekali. Katakanlah nama field-nya adalah Berkas, maka cukup lakukan dua langkah utama berikut.
Pertama, kita harus mengeset field Berkas tadi menjadi NOT NULL, lalu memberikan nilai default-nya di database, misalnya: nofile yang artinya tidak ada file. Pastikan setelah itu untuk melakukan sinkronisasi antara database dan project, dari menu Tools -> Synchronize.
Kedua, cukup tambahkan kode ini ke dalam server event Row_Rendered milik table yang bertalian:
if ($this->Berkas->CurrentValue == 'nofile'){ $this->Berkas->CellAttrs["class"] = "bg-danger text-white"; $this->Berkas->ViewAttrs["class"] = "btn disabled"; $this->Berkas->ViewValue = "<span style='color: white; text-decoration: none; '>No file uploaded</span>"; }
Arti dari kode di atas adalah, jika nilai field ini adalah nofile yang artinya belum ada file yang di-upload, maka gunakan class bg-danger text-white untuk atribut cell field tersebut, dan gunakan class btn disabled untuk atribut view field tersebut, dan setelah itu, tampilkan tulisan berwarna putih No file uploaded.
Perhatikan. Hanya dengan sedikit kode itu saja, kita sudah bisa menangani field upload yang belum ada file-nya. Kita bisa menampilkan pesan bahwa tidak ada file yang di-upload.
Setelah itu, seperti biasa, generate ulang semua file script menggunakan PHPMaker, lalu buka aplikasi web dengan menggunakan browser, maka Anda akan melihat tulisan No file uploaded pada record yang belum ada file-nya.
Betapa mudah dan cepatnya, bukan? Bukan! Hohoho… 😀
Tinggalkan Balasan