我在看golang驗證器並想知道如何驗證兩個字段在一起?在golang驗證結構中的兩個字段
我正在發送一個json主體來處理請求並將主體解碼到這個結構中。在身體的兩個參數(ID1 & ID2)中,其中一個必須存在。所以,我想驗證兩者都不存在的情況。
type IDs struct {
ID1 int64 `json:"id_one"`
ID2 int64 `json:"id_two"`
}
我該如何使用這個軟件包來驗證它? https://godoc.org/gopkg.in/validator.v2
我經歷了文檔,找不到辦法做到這一點。
我可以做
type IDs struct {
ID1 int64 `json:"id_one" validate:"min=0"`
ID2 int64 `json:"id_two" validate:"min=0"`
}
但這還是讓人既要缺席,而不是他們中的一個應該存在。
如果不能使用這個軟件包,還有其他方法可以做到這一點嗎?
我會安排時間,這樣我可以,如果它被設置或不告知將使它成爲一個指針的方式。如果值存在,JSON解組器會將其設置爲指向該值,如果沒有值,則爲零。看起來您可以設置一個自定義驗證函數來處理該函數,但是這樣做一次只能驗證一個字段。 –
我認爲手動檢查會更容易:'if ID1 == nil && ID2 == nil {return err}' –