Masino Sinaga

Web Development and PHPMaker

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

Sel, 15 Juli 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 *

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses.

Pos-pos Terbaru

  • Hati-Hati Memilih Versi PHP Sebelum Generate Code di PHPMaker 2022
  • Alasan AlwaysUseEnglishUSLocale Sebaiknya Aktif di Masino Extensions untuk PHPMaker 2022
  • MasinoInputMask18 Extension, Autoformat Angka dengan Fitur Lebih Kaya di PHPMaker 2022
  • MasinoSignature18 Extension, Mudahnya Mengelola Tanda Tangan di PHPMaker 2022
  • MasinoFormWizard18 Extension, Mengubah Tampilan Multi-Page di PHPMaker 2022

Menu

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

Komentar Terbaru

  • Masino Sinaga pada Hati-Hati Memilih Versi PHP Sebelum Generate Code di PHPMaker 2022
  • Thien Rudi pada Hati-Hati Memilih Versi PHP Sebelum Generate Code di PHPMaker 2022
  • Masino Sinaga pada Cara Menggunakan Login by session variables di Aplikasi Web dari PHPMaker 2021
  • Masino Sinaga pada Cara Menggunakan Login by session variables di Aplikasi Web dari PHPMaker 2021
  • Masino Sinaga pada Cara Menggunakan Login by session variables di Aplikasi Web dari 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 - 2021 | WordPress | Catat masuk | Kembali ke atas