Membuat validasi dengan validator di Gofiber
Langkah-langkah untuk menambahkan validasi menggunakan github.com/go-playground/validator/v10 adalah sebagai berikut:
Instalasi Library Validator: Pastikan Anda telah menginstal library
github.com/go-playground/validator/v10dengan menggunakan perintah:go get -u github.com/go-playground/validator/v10Membuat File Validation Helper: Buat file
validation.godi dalam folderhelpersdan tambahkan fungsi-fungsi validasi yang diperlukan.Mengubah Struktur Model: Tambahkan tag
validatepada bidang model yang perlu divalidasi.Mengubah Kontroler: Di dalam kontroler, gunakan fungsi validasi dari helper yang telah dibuat untuk memvalidasi input sebelum melakukan operasi CRUD.
Berikut adalah full code untuk implementasi langkah-langkah di atas:
src/helpers/validation.go
package helpers
import (
"github.com/go-playground/validator/v10"
)
var validate = validator.New()
type ErrorResponse struct {
FailedField string `json:"failed_field"`
Tag string `json:"tag"`
Value string `json:"value"`
}
func ValidateStruct(param any) []*ErrorResponse {
var errors []*ErrorResponse
validate := validator.New()
err := validate.Struct(param)
if err != nil {
for _, err := range err.(validator.ValidationErrors) {
element := ErrorResponse{
FailedField: err.StructNamespace(),
Tag: err.Tag(),
Value: err.Param(),
}
errors = append(errors, &element)
}
}
return errors
}src/models/Category.go
src/controllers/CategoryControllers.go
src/models/Products.go
src/controllers/ProductControllers.go
Dengan langkah-langkah di atas, Anda telah menambahkan validasi menggunakan github.com/go-playground/validator/v10 untuk model dan controller Anda. Kini aplikasi Anda akan memvalidasi input sebelum melakukan operasi CRUD pada produk dan kategori.
sumber : Dokumentasi
Last updated