Golang custom error Validation

Error pada golang memang kada tidak user friendly maka kita perlu membuat custom error pada validation kita.

Mari kita mulai dengan sebuah pertanyaan, “Bagaimana kita menyikapi error validation pada Golang?” biasanya kita gunakan error != nil lalu gin.h{error} (dalam kasus ini saya menggunakan gin gonic sebagai routing).

Validasi terjadi saat kita membuat sebuah requirement atau aturan yang harus ada pada sebuah field. mari kita langsung ke koding.

Membuat struk user

Misalnya kita punya sebuah struct yang akan kita validasi adalah seperti ini.

[gist id=”bff905f0e12a57fe40267028cf5e719f”]

Selanjutnya kita juga sudah membuat aturan aturan pada tag validate. kita menggunakan gin dan validator untuk membuat api sederhana.

Kode lengkap

[gist id=”28916d940d776378857d797e8f78fb83″]

Bisa dilihat pada fungsi GetErrorMessage

GetErrorMessage(e validator.FieldError) (message string)

kita melakukan pengecekan menggunakan switch case pada validator.FieldError untuk custom error message tag yang ingin diubah. teman teman dapat ubah sesuai dengan keinginan.

Jangan lupa juga membacara serial Membuat Authentikasi JWT di golang untuk mengetahui bagaimana cara implementasi custom error message validation.