无法使用json模式验证日期

时间:2020-10-30 09:49:14

标签: json json.net jsonschema

我希望我的日期格式为MM-dd-yyyy,正如您所说,format = date的格式为yyyy-MM-dd。 所以我可以创建自己的自定义格式= customdate吗?如果是,那么如何实现? 这是我的要求和我的问题 需求 使用JSON模式验证我的JSON对象后,以MM-dd-yyyy格式将日期存储为我的JSON对象作为类型字符串。 问题 当我尝试使用JSON模式验证MM-dd-yyyy日期时,出现ErrorType =格式验证错误

我收到的验证错误是字符串'09 -09-1966',未针对格式'date'进行验证。

我的JSON SCHEMA看起来像这样

"title": myjsonschema,
"type": "object",
"properties": {
  "birthDate": {
    "type": [
             "string",
             "null"
            ],
    "format": "date",
    "pattern": "^(0?[1-9]|1[012])\\-(0?[1-9]|[12][0-9]|3[01])\\-\\d{4}$",
    "message": {
             "pattern": "This field should be in mm-dd-yyyy format"
    }
  }
}

我的JSON对象

{"birthday":"09-09-1966"}

1 个答案:

答案 0 :(得分:0)

您将不得不查看正在使用的实现。

format仅是注释,这意味着默认情况下,它在验证方面不做任何事情。

它在验证方面所做的任何事情都是特定于实现的。

如果确实执行了某些操作,则JSON Schema规范确实会指定应该执行的操作。 “ date”是RFC3339中的“ {date}”(即date-fullyear "-" date-month "-" date-mday)。您的日期不是从年份开始。