我想记录来自复选框输入的数据,例如:
{
client 1: false,
client 2: true,
client 3: false,
}
或
{
dogs: true
cats: true
horses: false
}
我想为这些创建简单的JSON模式,并且更喜欢使用一个不必学习/键入/读取复杂regex的系统。下面的工作非常好,例如1:
"type": "object",
"patternProperties": {
"^Client [1-3]$": {
type: "boolean",
},
},
"additionalProperties": false,
不幸的是,当对象属性不遵循简单的模式时,情况会很复杂,如示例2中所示。有没有一种方法可以严格指定数组中的对象属性,同时指定值类型?我想将对象属性名称仅限于数组。所以我想要这样的伪模式:
"additionalProperties": false,
"propertyNames": ["Client 1", "Client 2", "Client 3"],
"allValuesToBe": "boolean"
(我编了最后一个关键字,但想要这样的东西。(这将接受/拒绝以下内容:
client 1: false, // accept
foobar: true, // reject, bad prop name
client 3: 123, // reject, bad value
additionalProperties
不必是布尔值,您可以在那里放置一个普通的模式。因此,只要你在这个对象中的所有属性都遵循相同的准则,你就可以做到:
"propertyNames": { "enum": ["Client 1", "Client 2", "Client 3"] },
"additionalProperties": { "type": "boolean" }