Parcourir la source

fix:修复数据验证错误

liuyaqi il y a 3 ans
Parent
commit
376bb75cc5
1 fichiers modifiés avec 12 ajouts et 0 suppressions
  1. 12 0
      valid/valid.go

+ 12 - 0
valid/valid.go

@@ -2,6 +2,7 @@ package valid
 
 
 import (
 import (
 	"context"
 	"context"
+	"reflect"
 	"strings"
 	"strings"
 
 
 	"github.com/gogf/gf/errors/gerror"
 	"github.com/gogf/gf/errors/gerror"
@@ -17,6 +18,17 @@ func init() {
 
 
 func IntInChecker(ctx context.Context, rule string, value interface{}, message string, data interface{}) error {
 func IntInChecker(ctx context.Context, rule string, value interface{}, message string, data interface{}) error {
 	// rule int-in:1,2
 	// rule int-in:1,2
+	// fmt.Println(rule, value, value == nil)
+	if value == nil {
+		return nil
+	}
+	reflectValue := reflect.ValueOf(value)
+	if reflectValue.Kind() == reflect.Ptr {
+		if reflectValue.IsNil() {
+			return nil
+		}
+	}
+
 	v := gconv.String(value)
 	v := gconv.String(value)
 	allow := strings.Split(rule, ":")
 	allow := strings.Split(rule, ":")
 	if len(allow) < 2 {
 	if len(allow) < 2 {