Friday, September 7, 2018

Android UI Form Validation Menggunakan Saripaar


Hallo guys! Gw Arloji, dan kali ini gw mau berbagi pengalaman gw menggunakan library android yang pasti bakal bikin proyek android kalian lebih mudah dan lebih baik tentunya. Yuk kita kenalan dengan SARIPAAR! Tapi sebelum itu gw mau ngenalin dulu tentang android UI validation nih.

Android UI validation merupakan suatu skema yang kita rancang untuk memvalidasi komponen android yang kita gunakan, misalkan editText, kita mau validasi Input tidak boleh kosong, Minimum input sekian, Atau yang lebih canggih lagi kita ingin input sesuai dengan keinginan kita yaitu menggunakan Regex.

Beberapa library validasi sudah ditawarkan oleh para developer-developer yang baik hati untuk kita gunakan secara Cuma-Cuma seperti yang ditawarkan oleh bg Ragunathjawahar yaitu Saripaar.

Okeh, sekarang kita cau ke pembahasan mengenai Saripaar itu sendiri. Biar enak bahasannya gw bakal bagi pembahasan dengan rumus 5W + 1H yoh!

1. What (Apasih saripaar itu)
Seperti yang sudah gw singgung tadi, saripaar merupakan sebuah library yang dibuat untuk melakukan validasi pada Android UI. Bagi gw ini merupakan library paling simple, paling keren, paling powerful dan mudah dipake. Gak percaya? Ntar gw kasih liat!

2. Who (Siapasih dalang dibalik saripaar)
Dah tau lah ya, yang bikinnya itu babang RagunathJawahar, buat yang mau liat GitHubnya nih bisa langsung lihat disini.

3. Why (Kenapa mesti saripaar)
Ini jawaban yang bakal bikin kita mikir buat langsung make saripaar. Terlebih yang sudah pernah mengalami masalah validasi input email, password, tidak boleh kosong seperti yang bisa dilihat dibawah ini.


Kalau kalian pernah melakukan hal yang diatas, kita pernah mengalami hal yang serupa, mesti validasi satu-satu dan ribet! That’s why kita mesti menggunakan saripaar. Berikut gw kasih beberapa alasan yang lebih rinci:
  • Gampang dipake (karena menggunakan annotasi, kalau belum familiar dengan annotasi mungkin bisa cari tau dulu bentunya, atau ntar gw kasih liat juga)
  • Annotasinya bisa kita custom (bisa nambahin rule, bisa ngerubah pesan, dan lain sebagainya)
  • Dapat menggunakan validasi sekaligus (BURST) atau validasi satu persatu (IMMEDIATE)
  • Bisa digunakan untuk semua UI widget di Android (EditText, TextView, CheckBox, Dll)
  • Bisa digunakan barengan dengan library android annotasi lain seperti ButterKnife.
  • Yang menarik adalah dia hanya validasi komponen yang visible, jadi gak perlu takut kena validasi untuk komponen yang tidak terlihat.
  • Dapat digunakan untuk berbagai jenis validasi (Input kosong, minimal input, maksimum input, email, password, dan lain sebagainya)

So, jangan ragu-ragu lagi buat make nih library yak!

4. Where (Dimana sih kita makenya)
Jelas kita pasang di komponen yang mau kita validasi, nah yang perlu diperhatikan nih buat annotasi, annotasi itu dipasang sebelum komponen ya guys. Buat yang belum kenal sama annotasi nih saya kasih liat bentuk pemasangan annotasi.


Komponen diatas itu divalidasi agar tidak boleh kosong, jadi tinggal kita pasang @NotEmpty sebagai annotasinya. Gampang kan?

5. When (Kapan kita make saripaar)
Pertanyaan ini sudah jelas jawabannya yak, kita menggunakan saripaar ketika kita ingin memvalidasi suatu UI komponen TITIK, ga deng. Saripaar ini akan lebih berasa dampaknya ketika kita ingin memvalidasi komponen yang sangat banyak, contohnya adalah sebagai berikut:


Tentu kita bakal kesel kalua semua field itu harus divalidasi satu-satu kan. Capek ma bro.

6. How (Gimana dong cara implementasinya)
Gampang banget nih, tinggal pake @ @ udah. Eh tapi mesti dipasang dulu library sama handlernya dong. Gini cara pasangnya.
Pertama, implementasi librarynya pada file gradle, tempat dependencies biasa


Kedua, implemetasi listener dari validatornya


Ketiga, pasang handler ketika validasi berhasil dan ketika validasi error


Keempat, init validatornya bisa dipasang pas onCreate aja gpp


Kelima, pasang deh komponen mana aja yang mau divalidasi


Okey, sekarang kalian bisa melakukan experiment dengan berbagai macam validasi rules yang diberikan. Untuk dokumentasi lengkapnya kalian bisa langsung cau ke GitHub yang tadi udah gw share di atas. Kalau ada yang mau ditanya langsung bisa tinggalin di komen yaw, atau bisa email langsung ke gw. Happy Coding ^_^

No comments:

Post a Comment