diff --git a/src/plugins/validation/semantic-validators/validators/items-required-for-array-objects.js b/src/plugins/validation/semantic-validators/validators/items-required-for-array-objects.js index 1398577f97a..ef7b1ee349d 100644 --- a/src/plugins/validation/semantic-validators/validators/items-required-for-array-objects.js +++ b/src/plugins/validation/semantic-validators/validators/items-required-for-array-objects.js @@ -52,6 +52,15 @@ export function validate({ resolvedSpec }) { } } + if(path[path.length - 2] === "properties") { + if(obj.type === "array" && typeof obj.items !== "object") { + errors.push({ + path, + message: "Model properties with 'array' type require an 'items' property" + }) + } + } + if(Object.keys(obj).length) { return Object.keys(obj).map(k => walk(obj[k], [...path, k]))