30 lines
542 B
Go
30 lines
542 B
Go
package libs
|
|
|
|
import (
|
|
"github.com/gin-gonic/gin"
|
|
"github.com/go-playground/validator/v10"
|
|
"strings"
|
|
)
|
|
|
|
func GetValidationErrors(errs validator.ValidationErrors) gin.H {
|
|
errors := make(map[string]any)
|
|
for _, err := range errs {
|
|
errors[err.Field()] = err.Error()
|
|
}
|
|
|
|
return gin.H{
|
|
"error": errors,
|
|
}
|
|
}
|
|
|
|
func ToSnakeCase(str string) string {
|
|
var result []rune
|
|
for i, r := range str {
|
|
if i > 0 && 'A' <= r && r <= 'Z' {
|
|
result = append(result, '_')
|
|
}
|
|
result = append(result, r)
|
|
}
|
|
return strings.ToLower(string(result))
|
|
}
|