Masino Sinaga

Web Development, PHPMaker, & PHP Report Maker

Anda di sini: Beranda / PHPMaker / Mudahnya Memvalidasi Beberapa Record Sekaligus di Aplikasi Web dari PHPMaker
Menjalankan Kode Setelah Beberapa Record Ditambahkan di Aplikasi Web dari PHPMaker
PHPMaker 11 Semakin Dahsyat dan Fleksibel dengan Twitter Bootstrap 3

Mudahnya Memvalidasi Beberapa Record Sekaligus di Aplikasi Web dari PHPMaker

Juli 15, 2014 oleh Masino Sinaga Tinggalkan Komentar

Ada beberapa server event baru yang ditambahkan mulai PHPMaker versi 11. Empat di antaranya terkait dengan proses penambahan (Add) maupun pembaruan (Edit) untuk beberapa Record sekaligus dalam sebuah Grid (Grid-Add dan Grid-Edit). Selain itu, keempat server event tersebut juga terkait dengan pengolahan data di halaman Master/Detail-Add dan Master/Detail-Edit.

Server event yang pertama yang akan kita bahas bernama Grid_Inserting. Dari namanya saja kita sudah bisa menebak, bahwa server event ini akan dieksekusi ketika sistem sedang berusaha menyimpan beberapa Record sekaligus melalui sebuah Grid. Artinya, kita sebagai Web Developer masih diberi kesempatan oleh PHPMaker untuk membatalkan proses penyimpanan jika business-logic yang kita terapkan di server event ini tidak sesuai dengan Record-record yang akan dimasukkan tersebut. Cukup dengan mengembalikan nilai FALSE untuk membatalkan.

Karena server event ini dijalankan saat beberapa Record sedang ditambahkan, maka halaman yang terkait dengan server event ini adalah Grid-Add untuk satu buah Table. Selain itu, server event Grid_Inserting ini juga diterapkan pada halaman Master/Detail-Add untuk sebuah Table detail. Server event ini tidak memiliki argumen.

Anda dapat menggunakan server event ini untuk memeriksa semua Record yang akan dimasukkan. Jika Anda ingin membatalkan proses penambahan data, maka cukup kembalikan nilai FALSE. Sebaliknya, kembalikan nilai TRUE. Secara standar, server event Grid_Inserting akan mengembalikan nilai TRUE.

Perlu diingat, jika Anda ingin memeriksa masing-masing Record, tidak perlu menggunakan server event ini, tapi cukup gunakan server event Row_Inserting (silahkan cari dan baca artikel saya yang sudah membahas mengenai hal ini). Seperti yang sudah kita ketahui, server event Row_Inserting dipanggil untuk setiap Record yang terdapat di dalam grid.

Dalam contoh berikut akan ditunjukkan bagaimana mudahnya memeriksa nilai di field Percentage untuk semua Record sebelum disimpan ke database haruslah bernilai 100. Jika tidak, maka batalkan proses penambahan Record dan tampilkan pesan.

Satu hal lagi yang perlu diingat, bahwa urutan server event Grid_Inserting dipanggil sebelum server Row_Inserting dieksekusi. Artinya, nilai field pada saat itu belumlah dimuat oleh sistem, tapi Anda dapat memuat mereka dengan menggunakan cara Anda sendiri.

function Grid_Inserting() {
    $rsnew = $this->GetGridFormValues(); // Dapatkan nilai form dari record-record yang baru sebagai sebuah array dari array
    //var_dump($rsnew); die(); // Hilangkan komentar di kode ini untuk mengecek record-record dan mengakhiri script
    $sum = 0;
    foreach ($rsnew as $row) // Loop melalui record-record yang baru
        $sum += intval($row["Percentage"]);
    if ($sum < 100) {
        // Untuk membatalkan, cukup kembalikan nilai False
        $this->CancelMessage = "Total persentase haruslah 100.";
        $this->setFailureMessage($this->CancelMessage);
        return FALSE;
    }         
    return TRUE; 
 }

Keren, ‘kan? 🙂

Ditempatkan di bawah: PHPMaker Ditag dengan:Grid_Inserting, PHPMaker Indonesia, Row_Inserting, Server Events, Tutorial PHPMaker

Masino Sinaga

Web Developer pengguna PHPMaker untuk membangun Aplikasi Web sejak tahun 2004. Sampai sekarang masih aktif dan rajin membagikan pengalamannya menggunakan PHPMaker melalui situs masinosinaga.com dan ilovephpmaker.com.

Menjalankan Kode Setelah Beberapa Record Ditambahkan di Aplikasi Web dari PHPMaker
PHPMaker 11 Semakin Dahsyat dan Fleksibel dengan Twitter Bootstrap 3

Tinggalkan Balasan Batalkan balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Pos-pos Terbaru

  • Server Event Page_Render dan Page_Rendering di PHPMaker, Apa Sih Bedanya?
  • Begini Mudahnya Mengubah Judul Browser Secara Dinamis di PHPMaker 2021
  • Solusi Supaya PreviewRow dan PreviewOverlay Bisa Sama-Sama Berfungsi di PHPMaker 2021
  • Jangan Pernah Lagi Mencampur Kode PHP di Client Script atau Startup Script pada PHPMaker 2021
  • Seperti Ini Mudahnya Menyembunyikan Data Label di Chart dari PHPMaker 2021

Menu

  • Siapa Saya?
  • Web Development
  • PHPMaker
  • Umum
  • Syarat dan Ketentuan
  • Sitemap (Peta Situs)
  • Komentar

Komentar Terbaru

  • Masino Sinaga pada Setting Import Data Berikut Wajib Anda Ketahui Bedanya di PHPMaker 2021
  • Masino Sinaga pada Jangan Pernah Lagi Mencampur Kode PHP di Client Script atau Startup Script pada PHPMaker 2021
  • Masino Sinaga pada Mudahnya Menambahkan Global Function untuk Auto-Update Field di PHPMaker
  • Abu Syifa pada Setting Import Data Berikut Wajib Anda Ketahui Bedanya di PHPMaker 2021
  • Abu Syifa pada Jangan Pernah Lagi Mencampur Kode PHP di Client Script atau Startup Script pada PHPMaker 2021

Situs Terkait

  1. I Love PHPMaker
  2. Situs Resmi PHPMaker
  3. Forum Diskusi PHPMaker
  4. PHPMaker di IlmuKomputer.com
  5. PHPMaker Learning

Baru di PHPMaker?

Baca ini terlebih dulu ...

  1. Ayo Menjadi Web Developer yang Cerdas!
  2. PHPMaker: PHP Code Generator + PHP Framework
  3. Pertanyaan-Pertanyaan yang Paling Sering Diajukan Seputar PHPMaker
  4. Tips buat Anda Pemula yang Baru Mengenal dan Menggunakan PHPMaker
  5. Bacalah Help, Bacalah Help, dan Bacalah Help di PHPMaker!

(c) Masino Sinaga 2009 - 2019 | WordPress | Catat masuk | Kembali ke atas