跳至主要內容

校验器的基础使用

Mr.Lexon小于 1 分钟back-end

校验器的基础使用

这里以github.com/go-playground/validator/v10为例: 首先安装对应的第三方包:

go get github.com/go-playground/validator/v10

安装完成之后在main文件中添加以下代码

var valid = validator.New()
func ValidateStruct(i interface{}, errMsg string) error {  
    err := valid.Struct(i)  
    if err != nil {  
       return err //这里可以根据实际情况集成错误并输出
    }  
    return nil  
}

实例:

package main

import (
	"fmt"
	"net/http"

	"github.com/go-playground/validator/v10"
)

// User - 示例结构体,用于验证
type User struct {
	Email    string `validate:"required,email"`
	Password string `validate:"required"`
}

var valid = validator.New()
func ValidateStruct(i interface{}, errMsg string) error {
	err := valid.Struct(i)
	if err != nil {
		return err //这里可以根据实际情况集成错误并输出
	}
	return nil
}

func main() {
	// 创建一个 User 实例
	user := User{
		Email:    "example@example.com",
		Password: "password123",
	}

	// 使用 ValidateStruct 进行验证
	err := ValidateStruct(user, "Invalid input")
	if err != nil {
		// 处理验证失败的情况
		fmt.Println(err)
	} else {
		// 验证成功
		fmt.Println("Validation successful!")
	}
}

这个函数是用于校验结构体对应的值内容是否存在。也是最简单的校验函数。 这个变量的创建是用于需要拓展对应校验的时候,可以直接复用该变量。

var valid = validator.New()
上次编辑于:
贡献者: Lexon