Files
2026-02-26 09:20:11 +07:00

46 lines
822 B
Go

package shared
import (
"errors"
"github.com/go-playground/validator/v10"
)
func ValidationError(err error) []string {
var ve validator.ValidationErrors
var result []string
if !errors.As(err, &ve) {
return []string{
err.Error(),
}
}
for _, fe := range ve {
result = append(result, errorMessage(fe))
}
return result
}
func errorMessage(fe validator.FieldError) string {
var errorInfo string
switch fe.Tag() {
case "required":
errorInfo = "tidak boleh kosong"
case "min":
errorInfo = "harus diisi minimal " + fe.Param()
case "max":
errorInfo = "harus diisi maksimal " + fe.Param()
case "oneof":
errorInfo = "hanya bisa diisi dengan : " + fe.Param()
case "uuid":
errorInfo = "harus diisi dengan uuid"
default:
errorInfo = "tidak valid"
}
return fe.Field() + " " + errorInfo
}