Membuat validasi dengan validator di Gofiber

Langkah-langkah untuk menambahkan validasi menggunakan github.com/go-playground/validator/v10 adalah sebagai berikut:

  1. Instalasi Library Validator: Pastikan Anda telah menginstal library github.com/go-playground/validator/v10 dengan menggunakan perintah:

    go get -u github.com/go-playground/validator/v10
  2. Membuat File Validation Helper: Buat file validation.go di dalam folder helpers dan tambahkan fungsi-fungsi validasi yang diperlukan.

  3. Mengubah Struktur Model: Tambahkan tag validate pada bidang model yang perlu divalidasi.

  4. 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