Skip to content

Commit 39d0383

Browse files
chenyan71chenyan71
authored andcommitted
fixes #65
1 parent 3008efb commit 39d0383

File tree

2 files changed

+43
-2
lines changed

2 files changed

+43
-2
lines changed

src/main/java/com/networknt/schema/JsonMetaSchema.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,8 @@ private static class DraftV4 {
4747
public static final List<Format> BUILTIN_FORMATS = new ArrayList<Format>();
4848
static {
4949
BUILTIN_FORMATS.add(pattern("date-time",
50-
"^\\d{4}-(?:0[0-9]{1}|1[0-2]{1})-[0-9]{2}[tT ]\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?([zZ]|[+-]\\d{2}:\\d{2})$"));
51-
BUILTIN_FORMATS.add(pattern("date", "^\\d{4}-(?:0[0-9]{1}|1[0-2]{1})-[0-9]{2}$"));
50+
"^\\d{4}-(?:0[0-9]{1}|1[0-2]{1})-(0?[1-9]|[12][0-9]|3[01])[tT ]\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?([zZ]|[+-]\\d{2}:\\d{2})$"));
51+
BUILTIN_FORMATS.add(pattern("date", "^\\d{4}-(?:0[0-9]{1}|1[0-2]{1})-(0?[1-9]|[12][0-9]|3[01])$"));
5252
BUILTIN_FORMATS.add(pattern("time", "^\\d{2}:\\d{2}:\\d{2}$"));
5353
BUILTIN_FORMATS.add(pattern("email", "^\\S+@\\S+$"));
5454
BUILTIN_FORMATS.add(pattern("ip-address",

src/test/resources/tests/optional/format.json

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,54 @@
1313
"data": "06/19/1963 08:30:06 PST",
1414
"valid": false
1515
},
16+
{
17+
"description": "an invalid date-time string",
18+
"data": "1963-13-25T08:30:06.283185Z",
19+
"valid": false
20+
},
21+
{
22+
"description": "an invalid date-time string",
23+
"data": "1963-12-35T08:30:06.283185Z",
24+
"valid": false
25+
},
26+
{
27+
"description": "an invalid date-time string",
28+
"data": "1963-12-31T08:30:06.283185Z",
29+
"valid": true
30+
},
1631
{
1732
"description": "only RFC3339 not all of ISO 8601 are valid",
1833
"data": "2013-350T01:01:01",
1934
"valid": false
2035
}
2136
]
2237
},
38+
{
39+
"description": "validation of date strings",
40+
"schema": {"format": "date"},
41+
"tests": [
42+
{
43+
"description": "an invalid date string",
44+
"data": "1963-13-25",
45+
"valid": false
46+
},
47+
{
48+
"description": "an invalid date string",
49+
"data": "1963-12-35",
50+
"valid": false
51+
},
52+
{
53+
"description": "an invalid datee string",
54+
"data": "1963-12-31",
55+
"valid": true
56+
},
57+
{
58+
"description": "only RFC3339 not all of ISO 8601 are valid",
59+
"data": "2013-35",
60+
"valid": false
61+
}
62+
]
63+
},
2364
{
2465
"description": "validation of URIs",
2566
"schema": {"format": "uri"},

0 commit comments

Comments
 (0)