GoFrame框架數(shù)據(jù)校驗之校驗結(jié)果Error接口對象_第1頁
GoFrame框架數(shù)據(jù)校驗之校驗結(jié)果Error接口對象_第2頁
GoFrame框架數(shù)據(jù)校驗之校驗結(jié)果Error接口對象_第3頁
GoFrame框架數(shù)據(jù)校驗之校驗結(jié)果Error接口對象_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第GoFrame框架數(shù)據(jù)校驗之校驗結(jié)果Error接口對象再接再厲,這篇總結(jié)分享:GoFrame數(shù)據(jù)校驗之校驗結(jié)果總結(jié)分享。

校驗結(jié)果為一個Error接口對象。當(dāng)數(shù)據(jù)規(guī)則校驗成功時,校驗方法返回的結(jié)果為nil。

當(dāng)數(shù)據(jù)規(guī)則校驗失敗時,返回的該對象是包含結(jié)構(gòu)化的層級map,包含多個字段及其規(guī)則及對應(yīng)錯誤信息,以便于接收端能夠準(zhǔn)確定位錯誤規(guī)則。

首先我們看一下Error的數(shù)據(jù)結(jié)構(gòu):

typeErrorinterface{

Current()error

Error()string

FirstItem()(keystring,messagesmap[string]string)

FirstRule()(rulestring,errstring)

FirstString()(errstring)

Items()(items[]map[string]map[string]string)

Map()map[string]string

Maps()map[string]map[string]string

String()string

Strings()(errs[]string)

可以通過Maps()方法獲得該原始錯誤信息數(shù)據(jù)結(jié)構(gòu)map。

在項目開發(fā)中,我們可以通過Error接口的其他方法來獲取特定的錯誤信息。

當(dāng)我們并不關(guān)心具體出錯的校驗規(guī)則時,可以使用String方法,直接返回所有的錯誤信息。

獲取校驗結(jié)果的值可以通過多個校驗結(jié)果方法獲取:

Items()在順序性校驗中將會按照校驗規(guī)則返回校驗錯誤的信息數(shù)組。其順序性只有使用順序校驗規(guī)則時有效,否則返回的結(jié)果是隨機(jī)的。

Map()會返回FirstItem中的出錯規(guī)則及對應(yīng)的錯誤信息map。

Maps()會返回所有的出錯鍵名及對應(yīng)的出錯規(guī)則及對應(yīng)的錯誤信息(map[string]map[string]string)。

String()會返回所有的錯誤信息,構(gòu)成一條字符串返回,多個規(guī)則錯誤信息之間以;符號連接。其順序性只有使用順序校驗規(guī)則時有效,否則返回的結(jié)果是隨機(jī)的。我們會比較常用。

Strings會返回所有的錯誤信息,構(gòu)成[]string類型返回。其順序性只有使用順序校驗規(guī)則時有效,否則返回的結(jié)果是隨機(jī)的。

FirstItem在有多個鍵名/屬性校驗錯誤的時候,用以獲取出錯的第一個鍵名,以及其對應(yīng)的出錯規(guī)則和錯誤信息。其順序性只有使用順序校驗規(guī)則時有效,否則返回的結(jié)果是隨機(jī)的。

FirstRule會返回FirstItem中得第一條出錯的規(guī)則及錯誤信息。其順序性只有使用順序校驗規(guī)則時有效,否則返回的結(jié)果是隨機(jī)的。

FirstString會返回FirstRule中得第一條規(guī)則錯誤信息。其順序性只有使用順序校驗規(guī)則時有效,否則返回的結(jié)果是隨機(jī)的。

因為gvalid.Error實現(xiàn)了Current()error接口,因此可以通過gerror.Current方法獲取它的第一條錯誤信息,這在接口校驗失敗時返回錯誤信息非常方便。

數(shù)據(jù)校驗時存在順序性校驗和非順序性校驗,這會對獲取第一條錯誤信息的結(jié)果產(chǎn)生影響。

關(guān)于順序與非順序性校驗,可以關(guān)注我,后面的文章中會更新說明。

這篇文章為大家介紹了GoFramegvalid校驗結(jié)果相關(guān)的知識點:

校驗結(jié)果為一個Error接口對象。當(dāng)數(shù)據(jù)規(guī)則校驗成功時,校驗方法返回的結(jié)果為nil。

當(dāng)數(shù)據(jù)規(guī)則校驗失敗時,返回的該對象是包含結(jié)構(gòu)化

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論