[英]Ajv library: Accessing keys in the nested schema validation javascript
我正在研究需要使用可以嵌套的所提供數據的ajv
庫來驗證模式的用例。
現在的問題是,Schema 可能會根據特定變量的值而更改,而該變量不在要進行此檢查的 scope 中。
我如何通過ajv實現它。
我嘗試使用if-else
& data & const
但沒有成功。
我最近遇到了與ajv
驗證器類似的用例。 通過查看您的問題,我相信您需要訪問通過驗證的實際 object 中的其他一些 scope,在我的情況下,它位於 object 的根目錄中。
所以我在 ajv 的用戶定義關鍵字部分使用了validate
function,這反過來在 arguments 本身的第一個索引中從頂層給我整個 object,這樣我在validate
function 中訪問了我的依賴鍵並在我的 ajv IF:
中使用它IF:
條件,例如
ajv.addKeyword({
keyword: "isRegular",
validate: (...test) => {
const test1 = test[1]
return test1.dependentKeyFromRootOfObject === "REGULAR"
},
})
並在嵌套對象的IF:
條件中使用了當時創建的關鍵字isRegular
if: { isRegular: true },
then: {
properties: {
rcType: { type: "string" },
date: { type: "string" },
},
required: ["rcType", "date"],
additionalProperties: false,
},
else: {
properties: {
rcType: { type: "string" },
},
required: ["rcType"],
additionalProperties: false,
},
希望這可以幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.