Skip to content

Commit 61ed0f8

Browse files
committed
Make a colon in date-time format zone optional (close #158)
1 parent 2449ee0 commit 61ed0f8

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ public class DateTimeValidator extends BaseJsonValidator implements JsonValidato
3838
private static final Pattern RFC3339_PATTERN = Pattern.compile(
3939
"^(\\d{4})-(\\d{2})-(\\d{2})" // yyyy-MM-dd
4040
+ "([Tt](\\d{2}):(\\d{2}):(\\d{2})(\\.\\d+)?)?" // 'T'HH:mm:ss.milliseconds
41-
+ "([Zz]|([+-])(\\d{2}):(\\d{2}))?");
41+
+ "([Zz]|([+-])(\\d{2}):?(\\d{2}))?");
4242

4343
public DateTimeValidator(String schemaPath, JsonNode schemaNode, JsonSchema parentSchema, ValidationContext validationContext, String formatName) {
4444
super(schemaPath, schemaNode, parentSchema, ValidatorTypeCode.DATETIME, validationContext);

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,11 @@
88
"data": "1963-06-19T08:30:06.283185Z",
99
"valid": true
1010
},
11+
{
12+
"description": "a valid date-time string without colon",
13+
"data": "2018-07-27T00:00:01.000-0300",
14+
"valid": true
15+
},
1116
{
1217
"description": "a valid date-time string",
1318
"data": "2019-07-24T00:00:01-04:00",

0 commit comments

Comments
 (0)