feat: more validators
This commit is contained in:
@@ -4,6 +4,7 @@ import (
|
||||
"strings"
|
||||
|
||||
"github.com/go-playground/validator/v10"
|
||||
"github.com/iliadenisov/galaxy/internal/util"
|
||||
)
|
||||
|
||||
var notBlankStringValidator validator.Func = func(fl validator.FieldLevel) bool {
|
||||
@@ -16,6 +17,27 @@ var notBlankStringValidator validator.Func = func(fl validator.FieldLevel) bool
|
||||
return true
|
||||
}
|
||||
|
||||
var entityNameStringValidator validator.Func = func(fl validator.FieldLevel) bool {
|
||||
s, ok := fl.Field().Interface().(string)
|
||||
if ok {
|
||||
if _, ok := util.ValidateTypeName(s); !ok {
|
||||
return false
|
||||
}
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
var productionTypeStringValidator validator.Func = func(fl validator.FieldLevel) bool {
|
||||
v, ok := fl.Field().Interface().(string)
|
||||
if ok {
|
||||
f := fl.Parent().FieldByName(fl.Param())
|
||||
if s, ok := f.Interface().(string); ok && (s == "SHIP" || s == "SCIENCE") && len(strings.TrimSpace(v)) == 0 {
|
||||
return false
|
||||
}
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
var armamentWithWeaponsValidator validator.Func = func(fl validator.FieldLevel) bool {
|
||||
var v, compareTo float64
|
||||
|
||||
|
||||
Reference in New Issue
Block a user