2017-07-26 2 views
1

私は、どのようにグローバルに、すべての配列が長さ1でなければならないかを理解しようとしています。私はカスタムタイプの作成を見て、それはオプションですが、より良い方法があるはずですね。AJVを使用するタイプのデフォルトルールを設定する

もう一つのグローバルな制限は、空の文字列を許可しないことです。

ありがとうございました!

答えて

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" } 
    } 
    } 
} 
関連する問題