Masino Sinaga

Web Development and PHPMaker

Anda di sini: Beranda / PHPMaker / Mencegah Pengguna Memilih Tanggal yang Sudah Lewat di DateTimePicker pada PHPMaker 2021
Memvalidasi Tanggal Minimal Harus Tanggal Hari Ini dengan Javascript dari PHPMaker 2021
Menghapus Kata Total, Membuat Cetak Tebal dan Rata Kanan pada Baris Aggregate di PHPMaker 2021

Mencegah Pengguna Memilih Tanggal yang Sudah Lewat di DateTimePicker pada PHPMaker 2021

Sel, 11 Mei 2021 oleh Masino Sinaga 3 Komentar

Satu lagi kemudahan di PHPMaker 2021 yang akan kita kupas di artikel ini, yaitu bagaimana cara mencegah Pengguna memilih tanggal-tanggal yang sudah lewat pada control DateTimePicker.

Seperti yang kita ketahui, PHPMaker 2021 menggunakan Extension DateTimePicker dari Bootstrap Date/Time Picker untuk membantu Pengguna memilih tanggal saat menginput data.

Tulisan ini mirip dengan artikel yang saya tulis sekitar 5 tahun yang lalu, yaitu Mencegah Pengguna Memilih Tanggal yang Sudah Lewat di JSCalendar dari PHPMaker.

Kalau Anda perhatikan di artikel tadi, ada lumayan banyak kode yang harus kita sesuaikan untuk mencegah Pengguna memilih tanggal-tanggal yang sudah lewat pada Extension JSCalendar. Entah apakah karena saat itu Extension yang digunakan memiliki keterbatasan dibandingkan dengan Extension DateTimePicker untuk PHPMaker 2021.

Tapi yang jelas, di Extension DateTimePicker untuk PHPMaker 2021 ini, kita bisa mengimplementasikannya dengan sangat mudah dan cepat. Tidak perlu lagi menulis kode sebanyak yang kita tulis 5 tahun lalu itu. Hanya dengan sedikit kode saja, kita sudah bisa menerapkannya dengan sangat mudah dan cepat.

Katakanlah kita ingin membatasi Pengguna Akhir untuk memilih tanggal-tanggal yang sudah lewat pada field OrderDate di table orderdetails dari project demo2021 yang bisa di-download dan coba di komputer kita masing-masing.

Cukup dengan memasukkan kode di bawah ini dari lokasi berikut pada project PHPMaker 2021: Tools -> Extensions -> DateTimePicker -> Advanced -> Fields -> Tables -> orders -> OrderDate -> Options:

{"minDate":[]}

Karena PHPMaker 2021 menggunakan Moment JS untuk mengimplementasikan fitur yang terkait dengan Tanggal dan pemakaian DateTimePicker, maka kita cukup menambahkan opsi minDate, dengan nilai [], yang artinya itu adalah tanggal hari ini di Moment JS.

Setelah itu, simpan file demo project tadi, generate ulang semua file script seperti biasa dengan menggunakan PHPMaker 2021.

Ketika kita mencoba menambah data di table orders lalu memilih tanggal pada field OrderDate, maka DateTimePicker akan menampilkan tanggal-tanggal yang telah lewat menjadi dalam posisi disabled atau non aktif.

Itu artinya, kode di atas berhasil mencegah Pengguna Akhir untuk memilih tanggal-tanggal yang telah lewat. Tanggal minimal yang boleh dipilih adalah tanggal hari ini. Tentu saja karena tanggal hari ini yang minimal, kita bisa juga memilih tanggal-tanggal yang akan datang.

Sampai di sini misi awal kita sudah selesai, yaitu hanya sebatas mencegah Pengguna memilih tanggal-tanggal yang telah lewat dari control DateTimePicker.

Tapi misi keseluruhan masih belum selesai. Maksudnya?

Jadi begini. Kalau Anda perhatikan setelah kita memilih tanggal hari ini, maka setelah DateTimePicker kita tutup, kita masih bisa mengganti tanggal tersebut menjadi tanggal yang telah lewat secara langsung dengan mengetik pada field OrderDate. Jika data tersebut disimpan, itu artinya data tanggal yang telah lewat masih lolos masuk ke database.

Pertanyaan selanjutnya, bagaimana cara mencegah supaya data tanggal yang telah lewat yang diubah secara langsung di field OrderDate tadi (tanpa melalui bantuan DateTimePicker) bisa dicegah masuk ke database?

Jawabannya sangatlah mudah dan juga sangat cepat. Cukup dengan memasukkan sedikit kode berikut ke dalam server event Row_Inserting:

if (strtotime($rsnew["OrderDate"]) < strtotime(CurrentDateTime())) {
    $this->setFailureMessage("Order Date cannot be lower than today!");
    return false;
}

Kode ini untuk mencegah Pengguna Akhir menyimpan data tanggal yang sudah lewat. Jika data yang dimasukkan secara langsung ke field OrderDate tanpa bantuan control DateTimePicker, maka masih ada benteng terakhir yang kita gunakan untuk memvalidasi data tanggal tersebut.

Terbukti sudah, di versi terakhir, selalu saja ada peningkatan fitur yang memungkinkan Web Developer dapat bekerja secara lebih efektif dan efisien. Tidak perlu banyak kode yang kita tulis. Kita pun masih tetap bisa mengkombinasikan kode di sisi client dan di sisi server.

Hanya dengan sedikit kode itu saja, maka kita sudah bisa mencegah Pengguna Akhir untuk memilih tanggal-tanggal yang telah lewat dari control DateTimePicker, dan juga memvalidasi tanggal di sisi server melalui bantuan server event Row_Inserting.

Ditempatkan di bawah: PHPMaker Ditag dengan:Belajar PHPMaker, DateTimePicker, PHPMaker 2021, 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.

Memvalidasi Tanggal Minimal Harus Tanggal Hari Ini dengan Javascript dari PHPMaker 2021
Menghapus Kata Total, Membuat Cetak Tebal dan Rata Kanan pada Baris Aggregate di PHPMaker 2021

Komentar

  1. iyus mengatakan

    Sel, 11 Mei 2021 pada 8:53 pm

    selamat malam bang masino, sy mampir ke web ini karena hampir seluruh pencarian google tentang PHPMaker bahasa indonesia merujuk kesini. Hebat dan salut..

    Saya mau tanya dan maaf kalau OOT dan mohon petunjuknya :
    – apakah PHPMaker dapat menerapkan kerja project oleh tim? misalnya si A dan si B mengerjakan 1 file project bersamaan.
    – Apakah ada cara untuk menggabungkan 2 atau 3 project PHPMaker ke 1 project?
    – Apakah PHPMaker dapat menerapkan 1 login untuk berbagai aplikasi yg digenerate oleh PHPMaker? bayangan saya : satu database untuk bermacam aplikasi (sharing database), atau menggunakan API, atau ada solusi lain dari PHPMaker?

    Kalau misalnya bisa, fitur yang mana/apa saja yg menangani masalah diatas?

    Balas
    • Masino Sinaga mengatakan

      Rab, 12 Mei 2021 pada 8:42 am

      Selamat pagi iyus. Terima kasih sudah mampir ke situs ini. 🙂

      1. Bisa. PHPMaker 2021 memiliki fitur Git, yang memungkinkan lebih dari satu developer bekerja pada project yang sama.

      2. Untuk menggabungkan project, jawabannya masih terkait dengan jawaban pertanyaan pertama tadi, yaitu melalui bantuan Git.

      3. PHPMaker bisa menghasilkan beberapa aplikasi web dalam satu database. PHPMaker juga memiliki fitur REST API yang bisa digunakan untuk menghubungkan beberapa Aplikasi Web yang dihasilkan olehnya.

      Untuk jawaban nomor 1 dan 2, silahkan baca topik Sharing Project with Other Users dari menu Help PHPMaker.

      Sedangkan untuk jawaban nomor 3, silahkan baca topik REST API dari menu Help PHPMaker.

      Selamat mencoba, semoga dapat membantu.

      Balas

Trackbacks

  1. Memvalidasi Tanggal Minimal Harus Hari Ini dengan Javascript dari PHPMaker 2021 – Masino Sinaga berkata:
    Rab, 12 Mei 2021 pukul 11:52 am

    […] Anda di sini: Beranda / PHPMaker / Memvalidasi Tanggal Minimal Harus Hari Ini dengan Javascript dari PHPMaker 2021 Mencegah Pengguna Memilih Tanggal yang Sudah Lewat di DateTimePicker pada PHPMaker 2021 […]

    Balas

Tinggalkan Balasan ke Memvalidasi Tanggal Minimal Harus Hari Ini dengan Javascript dari PHPMaker 2021 – Masino Sinaga 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
  • fikri pada Hati-Hati Memilih Versi PHP Sebelum Generate Code di PHPMaker 2022
  • Masino Sinaga pada Hati-Hati Memilih Versi PHP Sebelum Generate Code di PHPMaker 2022
  • fikri pada Hati-Hati Memilih Versi PHP Sebelum Generate Code di PHPMaker 2022
  • Masino Sinaga pada Beginilah PHPMaker Menangani Keamanan Level Pengguna Secara Dinamis

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