Kwalify YAML 验证 - 在键名中使用正则表达式?

dsw*_*w88 3 ruby validation yaml

我正在使用 Kwalify 进行架构验证。YAML 文档的一部分实际上确实希望在映射中允许某种类型的键名。

我看到 Kwalify 支持映射中的值的正则表达式,但我没有看到支持在映射中的中使用正则表达式。这是我想支持验证的内容:

test-element:
  sub-element-1: test
  sub-element-2:
    element-with-pattern-1: test1
    element-with-pattern-2: test2
Run Code Online (Sandbox Code Playgroud)

所以我不知道一些关键名称将是什么(此处显示为假名称“element-with-pattern-*”,但我知道它们应该对应于由正则表达式定义的模式。

这可以使用 Kwalify 进行验证吗?

小智 5

要检查这个:

parent_key:
  random_key1: url1
  random_key2: url2
Run Code Online (Sandbox Code Playgroud)

您应该使用“映射默认值”,这是架构示例:

type: map
mapping:
  "parent_key":
    type: map
    mapping:
      "=":
        type: str
Run Code Online (Sandbox Code Playgroud)

http://www.kuwata-lab.com/kwalify/ruby/users-guide.02.html#tips-default