国产chinesehdxxxx野外,国产av无码专区亚洲av琪琪,播放男人添女人下边视频,成人国产精品一区二区免费看,chinese丰满人妻videos

PhalGo-參數(shù)驗(yàn)證過濾

2018-01-04 09:28 更新

PhalGo-參數(shù)驗(yàn)證過濾

phalGo 的參數(shù)過濾使用 beego 提供的獨(dú)立模塊 validation 進(jìn)行封裝改造 , 從而達(dá)到可以和 request 一同使用的效果 , 通過統(tǒng)一的報(bào)錯(cuò)機(jī)制對(duì)不匹配的參數(shù)進(jìn)行處理.

連貫操作

當(dāng)我們自己進(jìn)行參數(shù)驗(yàn)證時(shí),我們需要先獲取參數(shù),在判斷參數(shù)是否存在,判斷長度是否在制定范圍內(nèi),在判斷是否符合我們所需要的格式,尤其在Go語言需要花費(fèi)大量的代碼量來實(shí)現(xiàn)這一系列功能,但是在PhalGo中進(jìn)行了良好的封裝,對(duì)一個(gè)參數(shù)的基本處理都能在一行內(nèi)完成,如下所示:

name := Request.Param("name").Require(true).Max(30).SetDefault("喵咪").GetString()

一個(gè)連貫操作就對(duì)一個(gè)參數(shù)進(jìn)行很好的描述,而不用和傳統(tǒng)的寫法一樣消耗大量的代碼量在參數(shù)獲取驗(yàn)證上面

使用方法

PhalGo的參數(shù)驗(yàn)證是和Request緊密結(jié)合在一起的大致格式如下:

Request.Param(參數(shù)名稱).你需要的驗(yàn)證規(guī)則.Get參數(shù)類型

這樣就可以獲取一個(gè)被驗(yàn)證過的參數(shù)

報(bào)錯(cuò)機(jī)制

當(dāng)我們參數(shù)驗(yàn)證不通過是需要處理的,當(dāng)我們對(duì)所有參數(shù)定義完成之后,我們只需要重寫一下一個(gè)error處理語句方可對(duì)驗(yàn)證不通過的參數(shù)進(jìn)行處理:

    //參數(shù)過濾error處理
    if err := Request.GetError(); err != nil {
        return Response.RetError(err, -1)
    }

注意:此處默認(rèn)會(huì)返回首個(gè)驗(yàn)證失敗的參數(shù)報(bào)錯(cuò),當(dāng)有多個(gè)驗(yàn)證失敗也只返回首個(gè)

支持參數(shù)驗(yàn)證類型

PhalGo的參數(shù)驗(yàn)證支持大部分驗(yàn)證規(guī)則:

  • Require(bool) //是否必須
  • Max(int) //最大長度/大小
  • Min(int) //最小長度/大小
  • ZipCode() //郵政編碼
  • Phone() //手機(jī)號(hào)或固定電話號(hào)
  • Tel() //固定電話號(hào)
  • Mobile() //手機(jī)號(hào)
  • Base64() //base64編碼
  • IP() //IP格式,目前只支持IPv4格式驗(yàn)證
  • Email() //郵箱格式
  • Match(string) //正則匹配,其他類型都將被轉(zhuǎn)成字符串再匹配
  • NoMatch(string) //反正則匹配,其他類型都將被轉(zhuǎn)成字符串再匹配
  • Numeric() //數(shù)字
  • Alpha() //alpha字符
  • AlphaNumeric() //alpha字符或數(shù)字
  • AlphaDash() //alpha字符或數(shù)字或橫杠-_
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)