GoFrame 提供了 gvalid 包来进行结构体数据的校验。以下是一个基本使用的示例:

首先,我们定义一个结构体:
package main

import (
"fmt"
"github.com/gogf/gf/util/gvalid"
)

type User struct {
Username string `v:"required|alpha_dash|min:6|max:16#用户名不能为空|用户名只能包含字母、数字、下划线和中划线|用户名长度应在6到16之间"`
Password string `v:"required|min:6|max:20#密码不能为空|密码长度应在6到20之间"`
Email    string `v:"required|email#邮箱不能为空|邮箱格式不正确"`
}

func main() {
// 创建一个 User 结构体实例
user := User{
Username: "john_doe",
Password: "123456",
Email:    "john.doe@example.com",
}

// 进行结构体数据校验
if e := gvalid.CheckStruct(user, nil); e != nil {
fmt.Println("数据校验失败:", e.String())
} else {
fmt.Println("数据校验成功")
}
}

在上面的示例中,我们定义了一个 User 结构体,并为结构体字段添加了数据校验规则。规则的格式是"规则1|规则2|...#错误信息1|错误信息2|...",多个规则之间用|分隔,错误信息使用#分隔。

然后,我们创建了一个 User 结构体实例,并使用 gvalid.CheckStruct 函数进行数据校验。如果校验失败,将返回一个 *gvalid.Error 对象,包含了校验失败的详细信息;如果校验成功,将返回 nil。

这样,你就可以方便地在结构体上定义数据校验规则,提高代码的可读性和维护性。




转载请注明出处:http://www.pingtaimeng.com/article/detail/7580/GoFrame