我想以格式時間(23:30:00)為時間的最大輸入,最大時間為(09:30:00),我嘗試使用 ozzo 驗證進行驗證,我找到了函式及其呼叫“日期(布局字串)"
這是檔案https://github.com/go-ozzo/ozzo-validation
從檔案中我看到函式 Date 有 Min 和 Max 來檢查指定的范圍,但問題是我不知道如何填充引數。資料型別是時間.時間。
這是我的代碼
if err := validation.Validate(c.ReleasedTime, validation.Date("15:04:05").Max(????)); err != nil {
logger.E(err)
return shared.NewMultiStringValidationError(shared.HTTPErrorBadRequest, map[string]string{
"en": "Format date",
"id": "format tanggal",
})
}
從那里我填寫最大引數“???” 因為我仍然困惑如何填充它。也許你們都可以幫助我找到這個解決方案或使用另一個包進行驗證,我將不勝感激。謝謝
uj5u.com熱心網友回復:
測驗代碼中有一個示例。
你可以在這里看到它:https ://github.com/go-ozzo/ozzo-validation/blob/master/date_test.go#L71
但是當我們只需要比較小時時,這里會有點小技巧。
import (
"fmt"
"time"
validation "github.com/go-ozzo/ozzo-validation/v4"
)
func main() {
layout := "2006-01-02T15:04:05"
// this add a base date to hour, so we have a valid time.Time object.
base := "2020-01-01"
max, _ := time.Parse(layout, base "T" "23:30:00")
fmt.Println(max)
r := validation.Date(layout).Max(max)
fmt.Println(r.Validate(base "T" "09:00:00")) // ok
fmt.Println(r.Validate(base "T" "23:40:00")) // this should raise error
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/480981.html
