package valid import ( "context" "strings" "github.com/gogf/gf/errors/gerror" "github.com/gogf/gf/util/gconv" "github.com/gogf/gf/util/gvalid" ) func init() { if err := gvalid.RegisterRule("int-in", IntInChecker); err != nil { panic(err) } } func IntInChecker(ctx context.Context, rule string, value interface{}, message string, data interface{}) error { // rule int-in:1,2 v := gconv.String(value) allow := strings.Split(rule, ":") if len(allow) < 2 { return nil } allow = strings.Split(allow[1], ",") for _, a := range allow { if v == a { return nil } } return gerror.New(message) }