2 回答

TA貢獻(xiàn)2036條經(jīng)驗 獲得超8個贊
如異常所示,以下行類型轉(zhuǎn)換失敗
errs := err.(validator.ValidationErrors)
不同類型的錯誤必須傳遞到不是驗證器的函數(shù)中。驗證錯誤。
因此,請確保其他錯誤不會傳遞到 .或者做一個更安全的類型檢查,比如:NewValidatorError
errs, ok := err.(validator.ValidationErrors)
if !ok {
// handles other err type
}

TA貢獻(xiàn)1836條經(jīng)驗 獲得超3個贊
我添加了對取消封版類型錯誤的檢查,如下所示:
if reflect.TypeOf(err).Elem().String() == "json.UnmarshalTypeError" {
errs := err.(*json.UnmarshalTypeError)
res.Errors[errs.Field] = fmt.Sprintf("{key: %v}", errs.Error())
return res
}
errs := err.(validator.ValidationErrors)
我猜當(dāng)json是類型提示時,戈蘭是嚴(yán)格的。它必須是確切的類型,否則它將引發(fā)錯誤。UnmarshalTypeError
- 2 回答
- 0 關(guān)注
- 130 瀏覽
添加回答
舉報