使用maxLength将属性设置为“字符串”或在JSON模式中为null

时间:2015-10-07 19:10:24

标签: javascript json jsonschema json-schema-validator

我正在尝试创建一个允许可为空的属性的JSON模式。例如,我希望以下JSON有效:

{
 "some_name" : null
}

使用以下架构:

{
  "type": "object",
  "properties": {
    "some_name": {
      "type": [
        "string",
        null
      ],
      "maxLength": 100
    }
  }
}

然而,它无效,因为它认为“null”不能有maxLength。有没有办法做到这一点?我希望有一个“可以为空”的属性,或类似的东西!

1 个答案:

答案 0 :(得分:1)

在我的SCHEMA中创建类型"null"而不是null似乎可以解决问题。 Null是它自己的模式类型,似乎可以触发更好的验证。

{
  "type": "object",
  "properties": {
    "some_name": {
      "type": [
        "string",
        "null"
      ],
      "maxLength": 100
    }
  }
}