【问题标题】:JSON Schema - allow null with regex patternJSON Schema - 使用正则表达式模式允许 null
【发布时间】:2017-08-15 16:10:49
【问题描述】:

希望在使用正则表达式验证日期格式的可选日期属性上允许为 null。这甚至可能吗?

"dateOfRetirement": {
  "description": "Optional. Format: yyyy-MM-dd.",
  "type": ["string", "null"],
  "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
} 

【问题讨论】:

    标签: json jsonschema


    【解决方案1】:

    要获得常规语法,您必须在正则表达式中添加条件。

    你的正则表达式会得到(假设你的正则表达式语法没有错误!):

    ^(\\d{4}-\\d{2}-\\d{2}|null)$
    

    已完成的步骤:

    • 用方括号 (()) 封装普通的正则表达式
    • 在正则表达式中添加 or-运算符 (|)
    • null 的第二个验证添加到or 运算符之后的正则表达式

    最后,正则表达式将允许将 a-valid-date-format 或 null 作为文本。

    【讨论】:

    • 完美,谢谢!我也更新了 JSON 以将:“dateOfRetirement”:“”更改为:“dateOfRetirement”:null,
    • 那是错误的。问题中的架构是可以的,如果值为null,则pattern 关键字将被忽略。
    【解决方案2】:

    我认为当 "column": null 时这不起作用。

    它只会在正则表达式中解释 "column": "null"

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-11
      相关资源
      最近更新 更多