婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > golang之數據校驗的實現代碼示例

golang之數據校驗的實現代碼示例

熱門標簽:澳門防封電銷卡 福州鐵通自動外呼系統 廣東語音外呼系統供應商 賺地圖標注的錢犯法嗎 長沙ai機器人電銷 地圖標注測試 智能電銷機器人營銷 烏魯木齊人工電銷機器人系統 濮陽自動外呼系統代理

目前大都是使用 validator

安裝

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

原理

當然只能通過反射來實現了,之前寫過一篇反射的文章 golang之反射和斷言 ,里面有寫到怎么通過反射獲取struct tag。

讀取struct tag之后就是對里面的標識符進行識別,然后進行驗證了。具體可以去看源碼。

demo

簡單使用:

package main

import (
 "fmt"
 "gopkg.in/go-playground/validator.v9"
)

// User contains user information
type UserInfo struct {
 FirstName  string  `validate:"required"`
 LastName  string  `validate:"required"`
 Age   uint8  `validate:"gte=0,lte=100"`
 Email   string  `validate:"required,email"`
}


func main() {
 validate := validator.New()
 user := UserInfo{
  FirstName:  "Badger",
  LastName:  "Smith",
  Age:   105,
  Email:   "",
 }
 err := validate.Struct(user)
 if err != nil {
  for _, err := range err.(validator.ValidationErrors) {
   fmt.Println(err)
  }
  return
 }
 fmt.Println("success")
}

輸出:

Key: 'UserInfo.Age' Error:Field validation for 'Age' failed on the 'lte' tag
Key: 'UserInfo.Email' Error:Field validation for 'Email' failed on the 'required' tag

其它類型可以參照文檔 https://godoc.org/gopkg.in/go-playground/validator.v9

幾個例子:

1.IP
type UserInfo struct {
 Ip    string  `validate:"ip"`
}
2.數字
type UserInfo struct {
 Number float32 `validate:"numeric"`
}
3.最大值
type UserInfo struct {
 Number float32 `validate:"max=10"`
}
4.最小值
type UserInfo struct {
 Number float32 `validate:"min=10"`
}

自定義驗證函數

package main

import (
 "fmt"
 "gopkg.in/go-playground/validator.v9"
 "unicode/utf8"
)

// User contains user information
type UserInfo struct {
 Name   string  `validate:"checkName"`
 Number float32 `validate:"numeric"`
}
// 自定義驗證函數
func checkName(fl validator.FieldLevel) bool {
 count := utf8.RuneCountInString(fl.Field().String())
 fmt.Printf("length: %v \n", count)
 if count > 5 {
  return false
 }
 return true
}

func main() {
 validate := validator.New()
  //注冊自定義函數,與struct tag關聯起來
 err := validate.RegisterValidation("checkName", checkName)
 user := UserInfo{
  Name:   "我是中國人,我愛自己的祖國",
  Number:   23,
 }
 err = validate.Struct(user)
 if err != nil {
  for _, err := range err.(validator.ValidationErrors) {
   fmt.Println(err)
  }
  return
 }
 fmt.Println("success")
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • go語言實現簡易比特幣系統錢包的原理解析
  • 使用go實現簡易比特幣區塊鏈公鏈功能
  • Go語言實現IP段范圍校驗示例
  • Django之form組件自動校驗數據實現
  • Django框架登錄加上驗證碼校驗實現驗證功能示例
  • go語言實現簡易比特幣系統之交易簽名及校驗功能

標簽:慶陽 阿克蘇 太原 西雙版納 調研邀請 德州 廣西 貴陽

巨人網絡通訊聲明:本文標題《golang之數據校驗的實現代碼示例》,本文關鍵詞  golang,之,數據,校驗,的,實現,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《golang之數據校驗的實現代碼示例》相關的同類信息!
  • 本頁收集關于golang之數據校驗的實現代碼示例的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    精品国产乱码久久久久久久| 国产精品亚洲一区二区三区妖精| 五月婷婷激情综合| 91小宝寻花一区二区三区| 欧美国产欧美综合| 懂色av一区二区三区免费观看| 久久亚洲影视婷婷| 国产91精品入口| 国产精品青草综合久久久久99| 欧美午夜精品电影| 国产精品资源站在线| 精品处破学生在线二十三| 成人小视频在线观看| 日韩精品一区二区三区视频在线观看| 国内外成人在线| 亚洲成av人片在www色猫咪| 欧美美女网站色| 精品影视av免费| 中文字幕精品—区二区四季| 欧美精品高清视频| 一本久久a久久免费精品不卡| 精品一区在线看| 成人免费一区二区三区视频| 91精品国产免费| 日本高清不卡aⅴ免费网站| 亚洲免费观看高清在线观看| 日韩一区二区影院| 国产精品一级在线| 亚洲第一福利一区| 亚洲色图色小说| 国产精品高潮呻吟久久| 久久欧美中文字幕| 日韩欧美一二三四区| 国产乱码精品一区二区三区忘忧草| 婷婷久久综合九色国产成人| 亚洲亚洲精品在线观看| 国产嫩草影院久久久久| 国产婷婷一区二区| 国产日产欧产精品推荐色 | 亚洲高清中文字幕| 蜜臀av亚洲一区中文字幕| 久草这里只有精品视频| 欧美亚洲动漫精品| 最新不卡av在线| 99久久精品国产导航| 在线成人小视频| 欧美国产亚洲另类动漫| 午夜婷婷国产麻豆精品| 成人精品视频一区| 国产婷婷色一区二区三区在线| 一区二区在线观看免费视频播放| 成人av资源下载| 中文欧美字幕免费| 国产福利一区二区三区视频在线 | 色婷婷久久久久swag精品| 欧美日韩综合在线免费观看| 亚洲人123区| 欧美视频在线播放| 久久亚洲私人国产精品va媚药| 麻豆成人久久精品二区三区红 | 五月天久久比比资源色| 成人手机电影网| 国产亚洲一区二区三区四区| 国产福利精品一区二区| 国产视频视频一区| 91网站在线播放| 午夜视频一区二区| 精品欧美一区二区三区精品久久 | 婷婷成人激情在线网| 91小视频免费观看| 亚洲h在线观看| 欧美日韩视频不卡| 国产乱子轮精品视频| 亚洲精品在线电影| 国产91精品免费| 日韩精品一二三四| 中文字幕一区不卡| 26uuu精品一区二区三区四区在线| 国产999精品久久久久久绿帽| 亚洲一区精品在线| 久久亚洲私人国产精品va媚药| 97久久精品人人澡人人爽| 日本午夜一本久久久综合| 精品伦理精品一区| 欧美日韩国产不卡| 一本色道**综合亚洲精品蜜桃冫| 亚洲va欧美va人人爽| 亚洲精品一区二区三区蜜桃下载| 成人久久视频在线观看| 97se亚洲国产综合自在线不卡| 日本一区二区三区久久久久久久久不 | 成人毛片在线观看| 日本三级亚洲精品| 午夜精品久久久久久久久久久| 国产精品日韩精品欧美在线| 久久久久国产精品厨房| 欧美日韩久久久| 色综合中文综合网| 久久国产精品99久久人人澡| 亚洲国产精品传媒在线观看| 日本高清不卡aⅴ免费网站| 欧亚一区二区三区| 欧美日韩中文字幕精品| 日本丶国产丶欧美色综合| 欧美精选一区二区| 91麻豆精品国产91久久久使用方法 | 亚洲欧美另类图片小说| 精品国产精品一区二区夜夜嗨| 欧美日韩免费观看一区三区| 91老师国产黑色丝袜在线| 国产激情精品久久久第一区二区 | 99久久综合99久久综合网站| 国产精品资源在线看| 激情偷乱视频一区二区三区| 久久99久久精品欧美| 亚洲电影你懂得| 亚洲男人天堂一区| 亚洲男人的天堂av| 国产精品久久久久久福利一牛影视| 久久综合九色综合97婷婷女人| 国产日韩欧美a| 亚洲欧美激情视频在线观看一区二区三区| 国产日韩在线不卡| 午夜亚洲国产au精品一区二区| 免费观看成人av| 成人免费高清视频在线观看| 色婷婷综合久色| 国产精品亲子伦对白| 午夜精品福利一区二区三区av | 欧美福利电影网| 日韩免费观看高清完整版 | 欧美日本在线播放| 一区视频在线播放| 午夜在线成人av| 美国一区二区三区在线播放| 欧美日韩精品一区二区| 国产精品久久久久一区二区三区共| 日韩电影在线观看一区| 国产精品亚洲午夜一区二区三区| 91精品国产全国免费观看| 久久精品夜色噜噜亚洲a∨| 久久成人综合网| 欧美日韩国产一二三| 国产精品国产成人国产三级| 国产成人综合亚洲91猫咪| 欧美一级理论片| 经典三级一区二区| 911精品国产一区二区在线| 亚洲日本免费电影| 91搞黄在线观看| 亚洲欧美日韩在线| 色欧美片视频在线观看| 一区二区在线电影| 色狠狠综合天天综合综合| 亚洲国产va精品久久久不卡综合| 91福利国产成人精品照片| 亚洲va欧美va国产va天堂影院| 欧美亚洲综合在线| 天天爽夜夜爽夜夜爽精品视频| 欧美videossexotv100| 国产精品白丝jk白祙喷水网站 | 国产女人水真多18毛片18精品视频| 99天天综合性| 日韩专区在线视频| 国产精品女上位| 欧美亚洲一区二区在线| 久久不见久久见免费视频1 | 在线观看www91| 亚洲国产sm捆绑调教视频 | 激情六月婷婷综合| 中文字幕一区二区三区精华液 | 久久久久久97三级| 欧美体内she精高潮| 精品一区二区在线免费观看| 国产精品久久久久久久第一福利 | 欧美性猛交xxxxxxxx| 精品亚洲成a人| 亚洲一级二级在线| 欧美国产综合色视频| 欧美日韩精品二区第二页| av影院午夜一区| 天堂va蜜桃一区二区三区漫画版 | 精品少妇一区二区三区日产乱码| 成人晚上爱看视频| 国产成人自拍网| 亚洲国产精品一区二区久久| 久久精品一区八戒影视| 日韩欧美一区中文| 在线日韩一区二区| 在线观看日韩一区| 丁香婷婷综合激情五月色| 国产91精品一区二区麻豆网站| 蜜桃在线一区二区三区| 婷婷综合另类小说色区| 亚洲女人的天堂| 亚洲一区二区三区中文字幕 | 国产很黄免费观看久久| 日韩国产一区二| 五月婷婷久久综合| 韩国av一区二区三区在线观看|