Golang 資料驗證validator

2021-10-09 08:12:11 字數 1348 閱讀 2660

在web應用中會碰到各種欄位的校驗 比如使用者名稱 密碼 郵箱等

如果按流程順序校驗 **會很長而且很難看

這裡可以使用validator包 來幫助對字段的校驗

記錄一下 備忘

package main

import

("fmt"

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

)type user struct

func

main()

var validate = validator.

new(

) err := validate.

struct

(&user)

if err !=

nil}

}/** output

namespace: user.repeatpass

field: repeatpass

structnamespace: user.repeatpass

structfield: repeatpass

tag: eqfield

actualtag: eqfield

kind: string

type: string

value: 123456798

param: password

**/

字段

說明eq

equals 等於 包括了數值 string,slice,map的長度 下同

gtegreater than or equal 大於等於

lteless than or equal 小於等於

urlurl string url格式

ipinternet protocol address ip ip格式

email

e-mail string 郵箱格式

lenlength 長度 包括string slice map等

maxmaximum 字串最大長度

minminimum 字串最小長度

required

required 必填項

gtefield

field greater than or equal to another field 大於等於其他字段

ltefield

less than or equal to another field 小於等於其他字段

nefield

field does not equal another field 不等於其他字段

eqfield

field equals another field 等於其他字段

Springboot 表單驗證 Valid

springboot給我們提供了強大的表單驗證功能,為我們省去了寫驗證的麻煩。以下使用乙個簡單的註冊頁面來進行演示 1 註冊頁 doctype html html lang en head meta charset utf 8 title title title head body form act...

form的valid驗證的原理

import re import copy class validateerror exception def init self,detail self.detail detail 外掛程式 class textinput object def str self return class emai...

golang 驗證密碼(自定義驗證項)

const 密碼驗證選項 只能含有 pwd opt number uint16 1 iota 數字 0001 pwd opt lower 小寫 0010 pwd opt upper 大寫 0100 pwd opt special 特殊符號 1000 func verifypwd pwd string...