Skip to content

Commit 45e584a

Browse files
committed
移除自动bind 聚合validator
1 parent eacfe80 commit 45e584a

File tree

16 files changed

+230
-1087
lines changed

16 files changed

+230
-1087
lines changed

go.mod

-3
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ require (
1313
github.com/pkg/errors v0.9.1
1414
github.com/redis/go-redis/v9 v9.7.1
1515
github.com/spf13/viper v1.20.0
16-
github.com/stretchr/testify v1.10.0
1716
go.uber.org/zap v1.27.0
1817
gorm.io/driver/mysql v1.5.7
1918
gorm.io/driver/postgres v1.5.11
@@ -26,7 +25,6 @@ require (
2625
github.com/bytedance/sonic/loader v0.2.4 // indirect
2726
github.com/cespare/xxhash/v2 v2.3.0 // indirect
2827
github.com/cloudwego/base64x v0.1.5 // indirect
29-
github.com/davecgh/go-spew v1.1.1 // indirect
3028
github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect
3129
github.com/gabriel-vasile/mimetype v1.4.8 // indirect
3230
github.com/gin-contrib/sse v1.0.0 // indirect
@@ -46,7 +44,6 @@ require (
4644
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
4745
github.com/modern-go/reflect2 v1.0.2 // indirect
4846
github.com/pelletier/go-toml/v2 v2.2.3 // indirect
49-
github.com/pmezard/go-difflib v1.0.0 // indirect
5047
github.com/rogpeppe/go-internal v1.11.0 // indirect
5148
github.com/sagikazarmark/locafero v0.7.0 // indirect
5249
github.com/sourcegraph/conc v0.3.0 // indirect

internal/cmd/main.go

+9-8
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
package cmd
22

33
import (
4-
"fmt"
54
"github.com/gin-gonic/gin"
65
"scaffold/pkg/httpserver"
7-
"scaffold/utility/bind"
6+
"scaffold/pkg/validator"
87
)
98

109
type TestJSON struct {
11-
Name string `json:"name" validate:"required"`
12-
Age int `json:"age" validate:"required"`
10+
Name string `json:"name" binding:"required"`
11+
Age int `json:"age" binding:"required"`
12+
Phone string `json:"phone" binding:"mobile_cn"`
1313
}
1414

1515
func Main() {
@@ -18,16 +18,17 @@ func Main() {
1818

1919
s.POST("/test", func(c *gin.Context) {
2020
var test TestJSON
21-
if err := bind.Bind(c, &test); err != nil {
21+
if err := c.ShouldBindJSON(&test); err != nil {
22+
// 翻译错误
23+
errMsg := validator.TranslateError(err, "zh")
2224
c.AbortWithStatusJSON(400, gin.H{
2325
"msg": "参数错误",
24-
"error": err.Error(),
26+
"error": errMsg,
2527
})
26-
fmt.Printf("%#v", err)
2728
return
2829
}
2930
c.JSON(200, gin.H{
30-
"msg": "hello simple",
31+
"msg": "hello",
3132
})
3233
})
3334

main.go

-7
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,10 @@ import (
44
"log"
55
"scaffold/internal/cmd"
66
"scaffold/pkg/config"
7-
"scaffold/pkg/i18n"
87
"scaffold/pkg/logger"
98
"scaffold/pkg/repository/db"
109
"scaffold/pkg/repository/redis"
1110
"scaffold/pkg/validator"
12-
"scaffold/utility/bind"
1311

1412
"github.com/pkg/errors"
1513
)
@@ -24,9 +22,6 @@ func setting() error {
2422
return errors.WithMessage(err, "config模块初始化失败")
2523
}
2624

27-
// 初始化i18n (确保在validator之前)
28-
i18n.Init()
29-
3025
// 初始化验证器
3126
if err = validator.Init(); err != nil {
3227
return errors.WithMessage(err, "validator模块初始化失败")
@@ -40,8 +35,6 @@ func setting() error {
4035
return errors.WithMessage(err, "db模块初始化失败")
4136
}
4237

43-
bind.Init(validator.V)
44-
4538
return nil
4639
}
4740

pkg/httpserver/engine.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,10 @@ import (
66
"scaffold/pkg/config"
77
"syscall"
88

9+
"scaffold/pkg/logger"
10+
911
"github.com/gin-gonic/gin"
1012
"go.uber.org/zap"
11-
"scaffold/pkg/logger"
1213
)
1314

1415
type Server struct {

pkg/i18n/i18n.go

-78
This file was deleted.

pkg/i18n/validatortrans/message.go

-51
This file was deleted.

pkg/i18n/validatortrans/translator.go

-47
This file was deleted.

pkg/i18n/validatortrans/utils.go

-29
This file was deleted.

0 commit comments

Comments
 (0)