JOI validation dalam FeathersJs

Tio Renndy Winarna
Jan 21, 2019 · 1 min read

Bayangkan saat anda membuat aplikasi login dan user dapat menginputkan username seperti _123@asdaa. Anda pasti menginginkan user menginputkan username sesuai dengan keinginan anda dan tidak dengan karakter yang bermacam-macam. Bagaimana anda menanganinya?
Anda dapat menggunakan Joi. Joi memungkinkan anda untuk membuat blueprints atau schemas untuk objek dalam JavaScript untuk memastikan validasi informasi.
Kali ini saya akan membahas kegunaan Joi untuk validasi input dalam FeatherJs.

Instalasi

Untuk menginstall Joi cukup ketikkan syntax berikut pada command line.

npm install joi

Penggunaan

Joi akan kita gunakan dalam middleware untuk validasi. Maka dari itu buat file validate.js dalam folder middleware pada FeathersJs. Dalam joi terdapat sebuah schema. Schema digunakan untuk menyimpan pengaturan validasi yang akan digunakan. Berikut ini adalah contoh dari schema.

Dari contoh diatas terdapat schema untuk data user dengan isian name dengan validasi string, alphanum, minimum 3 karakter, maksimum 30 karakter dan required serta yang lainnya. Untuk mengetahui lebih banyak anda dapat mengaksesnya di API Joi.

Berikut adalah isi dari file validate.js.

Joi.validate digunakan untuk memvalidasi data dengan schema yang telah dibuat. Jika file validate.js sudah dibuat maka setelah itu validate.js dipanggil dalam file hook pada saat before. Tujuannya untuk memvalidasi sebelum data diproses. Berikut ini file hook untuk memanggil validate.js.

Dalam contoh diatas const validate didapatkan dari require file validate.js dalam folder middleware serta validate digunakan pada saat pemanggilan service create/POST.

Demikian penjelasan yang bisa saya berikan, saya juga baru belajar mengenai penggunaan nodeJS serta framework yang ada didalamnya. Apabila ada salah saya sangat senang untuk mendiskusikan. Semoga tulisan ini bermanfaat. Terima kasih.

SkyshiDigital

We help scale up your startup to the next level

Tio Renndy Winarna

Written by

SkyshiDigital

We help scale up your startup to the next level

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade