golang 使用validator.v9做數據驗證並輸出中文


1.安裝

go get gopkg.in/go-playground/validator.v9

2. 使用

package main

import (
	"fmt"
	"github.com/go-playground/locales/zh"
	ut "github.com/go-playground/universal-translator"
	"gopkg.in/go-playground/validator.v9"
	zh_translations "gopkg.in/go-playground/validator.v9/translations/zh"
)

type User struct {
	Account string  `json:"account" validate:"required"`
	PassWord string  `json:"pass_word" validate:"required"`
}

func main()  {
	//獲取數據
	account := ""
	pass_word := ""
	user := &User{}
	user.Account = account
	user.PassWord = pass_word

	//驗證
	zh_ch := zh.New()
	validate := validator.New()
	uni := ut.New(zh_ch)
	trans, _ := uni.GetTranslator("zh")
	//驗證器注冊翻譯器
	zh_translations.RegisterDefaultTranslations(validate, trans)

	err := validate.Struct(user)
	if err != nil {
		for _, err := range err.(validator.ValidationErrors) {
			fmt.Println(err.Translate(trans))
		}
		return
	}
}

最后輸出:

Accout為必填字段
PassWord為必填字段

  

參考:https://www.jianshu.com/p/9ef19d5eac72

文檔:https://godoc.org/gopkg.in/go-playground/validator.v9


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM