[英]Ajv javascript schema validation with regex in key value
我有一個架構可以在 Node.js 中使用 Ajv 進行驗證。 json 的屬性有一個循環模式來驗證,可能的鍵值是 1,2,3,4,5。 問題是,有可能使用正則表達式僅表達一個屬性,該屬性將向 ajv 解釋 json object 的鍵值可能是 integer 介於 1 和 5 之間嗎? 如果是這樣,怎么辦?
下面是當前代碼的示例。
const Ajv = require("ajv")
const ajv = new Ajv()
const validate_setparameters = ajv.compile(
{
type: "object",
properties: {
"1": { type: "integer"},
"2": { type: "integer"},
"3": { type: "integer"},
"4": { type: "integer"},
"5": { type: "integer"}
},
additionalProperties: false,
minProperties: 1
}
)
console.log(validate_setparameters({"3":1}))
看到它: https://ajv.js.org/json-schema.html#patternproperties
因此,您的代碼將如下所示:
const Ajv = require("ajv")
const ajv = new Ajv()
const validate_setparameters = ajv.compile(
{
type: "object",
patternProperties: {
"^[1-5]{1}$": { type: "integer"}
},
additionalProperties: false,
minProperties: 1
}
)
console.log(validate_setparameters({"3":1}))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.