作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以,我正在尝试为一组轴约束定义一个模式。因此,我想将“axis”元素的可能值限制为 ["x", "y", "z"]。
这是我当前的示例,它是输出。
{
"name_patterns": [
{
"regex": "block[_-]?([\\d]*)",
"class": "block",
"id_group": 1
}
],
"relationships": [
{
"src_class": "block",
"dst_class": "block",
"constraints": {
"axis": "x"
}
}
]
}
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"name_patterns": {"type": "array",
"items": { "$ref": "#/definitions/name_entry" } },
"relationships": {"type": "array",
"items": { "anyof": [ {"$ref": "#/definitions/relation"} ] } }
},
"definitions": {
"name_entry": {
"type": "object",
"properties": {
"regex": {"type": "string"},
"class": {"type": "string"},
"id_group": {"type": "number"}
},
"required": ["regex", "class"]
},
"relation": {
"type": "object",
"properties": {
"src_class": {"type": "string"},
"dst_class": {"type": "string"},
"constraints": {
"type": "object",
"properties": {
"axis": {
"enum": ["x", "y", "z"]
}
},
"required": ["axis"]
}
},
"required": ["src_class", "dst_class", "constraints"]
}
}
}
如何修复我的架构以拒绝未在枚举器中指定的值?
最佳答案
您的架构语法有点不对。
首先,您需要将属性定义放入properties
:
{
"properties": {
"axis": {...}
}
}
其次,type
定义类型(例如 "string"
),但您在这里不需要它。 enum
应该直接在 "axis"
模式中:
{
"properties": {
"axis": {
"enum": ["x", "y", "z"]
}
}
}
关于Python jsonschema 无法验证字符串枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25916555/
我是一名优秀的程序员,十分优秀!