Skip to content

Commit 8057b5b

Browse files
committed
fix #582: enhance date string formats
1 parent ebcd76e commit 8057b5b

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

openapi3/schema_formats.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -205,11 +205,11 @@ func init() {
205205
// The pattern supports base64 and b./ase64url. Padding ('=') is supported.
206206
DefineStringFormat("byte", `(^$|^[a-zA-Z0-9+/\-_]*=*$)`)
207207

208-
// date
209-
DefineStringFormat("date", `^[0-9]{4}-(0[0-9]|10|11|12)-([0-2][0-9]|30|31)$`)
208+
// defined as full-date in https://www.rfc-editor.org/rfc/rfc3339#section-5.6
209+
DefineStringFormat("date", `^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|30|31)$`)
210210

211-
// date-time
212-
DefineStringFormat("date-time", `^[0-9]{4}-(0[0-9]|10|11|12)-([0-2][0-9]|30|31)T[0-9]{2}:[0-9]{2}:[0-9]{2}(\.[0-9]+)?(Z|(\+|-)[0-9]{2}:[0-9]{2})?$`)
211+
// defined as date-time in https://www.rfc-editor.org/rfc/rfc3339#section-5.6
212+
DefineStringFormat("date-time", `^[0-9]{4}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T(23:59:60|(([01][0-9]|2[0-3])(:[0-5][0-9]){2}))(\.[0-9]+)?(Z|(\+|-)[0-9]{2}:[0-9]{2})?$`)
213213

214214
defaultSchemaStringFormats = SaveStringFormats(SchemaStringFormats)
215215
}

0 commit comments

Comments
 (0)