在我的應用程序中,我用來validator.v9驗證我的模型。驗證后我可以投射error界面并且成功,我在控制臺上看到“OK”err := v.ModelValidator.Struct(model)if _, ok := err.(validator.ValidationErrors); ok { fmt.Println("ValidateModel: OK")} else{ fmt.Println("ValidateModel: FALSE")}我需要將此對象包裝到另一個對象以供將來處理type errValidation struct { error}func ValidationError(err error) error { return errValidation{err}}但是,如果我嘗試將這個包裝對象轉換回上面validator.ValidationErrors第一個案例的轉換正下方的同一函數中,它將失敗e := ValidationError(err)if _, ok := e.(validator.ValidationErrors); ok { fmt.Println("ValidationError: OK")} else{ fmt.Println("ValidationError: FALSE")}我在控制臺看到ValidateModel: OKValidationError: FALSE我怎樣才能使這個演員表從包裝的對象中發揮作用?ValidationErrors從"gopkg.in/go-playground/validator.v9"看起來像這樣type ValidationErrors []FieldErrorfunc (ve ValidationErrors) Error() string { //.....}
如果我包裝我的對象,Golang 轉換為自定義類型會失敗
慕碼人8056858
2023-03-21 15:12:09