我试图弄清楚如何在全局范围内说所有数组的长度必须为 1 而不必使用 minItems: 1 我指定数组的架构中的每个位置。我正在考虑创建自定义类型,这是一种选择,但我觉得应该有更好的方法?
另一个全局限制是不允许任何空字符串。
谢谢您的帮助!
我试图弄清楚如何在全局范围内说所有数组的长度必须为 1 而不必使用 minItems: 1 我指定数组的架构中的每个位置。我正在考虑创建自定义类型,这是一种选择,但我觉得应该有更好的方法?
另一个全局限制是不允许任何空字符串。
谢谢您的帮助!
您永远无法更改关键字的行为(全局或其他)。您最好的选择是创建一个包含您的特殊规则的文件。
global.js
{
"definitions": {
"non-empty-array": {
"type": "array",
"minItems": 1
}
}
}
然后,您可以在想要使用这些特殊规则的任何时候引用此文件。
example.js
{
"type": "object",
"properties": {
"a": {
"allOf": [{ "$ref": "/global.js#/definitions/non-empty-array" }],
"items": { "type": "string" }
},
"b": {
"allOf": [{ "$ref": "global.js#/definitions/non-empty-array" }],
"items": { "type": "integer" }
}
}
}