From 384d0390effb6008141d23560692e74fa05324ae Mon Sep 17 00:00:00 2001 From: Edwin Westerhoud Date: Mon, 12 Nov 2018 11:34:06 +0100 Subject: [PATCH 1/3] Data --- src/util/schema-validator.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/util/schema-validator.js b/src/util/schema-validator.js index 52256f8..4c04ab6 100644 --- a/src/util/schema-validator.js +++ b/src/util/schema-validator.js @@ -6,6 +6,7 @@ export function validate(schema: Object, body: mixed) { const validator = ajv({ allErrors: true, v5: true, + $data: true, }) keywordSwitch(validator) From 00446e5a28db08376f195191c2f8e3a48edbdbc8 Mon Sep 17 00:00:00 2001 From: Edwin Westerhoud Date: Mon, 12 Nov 2018 13:30:59 +0100 Subject: [PATCH 2/3] Test. --- src/util/schema-validator.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/util/schema-validator.js b/src/util/schema-validator.js index 4c04ab6..01136e7 100644 --- a/src/util/schema-validator.js +++ b/src/util/schema-validator.js @@ -1,6 +1,7 @@ /* @flow */ import ajv from "ajv" import keywordSwitch from "ajv-keywords/keywords/switch" +import keywordSelect from "ajv-keywords/keywords/select" export function validate(schema: Object, body: mixed) { const validator = ajv({ @@ -10,6 +11,7 @@ export function validate(schema: Object, body: mixed) { }) keywordSwitch(validator) + keywordSelect(validator) if (validator.validate(schema, body)) return [] From 66b0f60bd6215ed35b11f0003ff72dc27fdd2d41 Mon Sep 17 00:00:00 2001 From: Edwin Westerhoud Date: Mon, 12 Nov 2018 14:02:06 +0100 Subject: [PATCH 3/3] GO --- src/util/schema-validator.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/util/schema-validator.js b/src/util/schema-validator.js index 01136e7..04b4ed3 100644 --- a/src/util/schema-validator.js +++ b/src/util/schema-validator.js @@ -13,7 +13,8 @@ export function validate(schema: Object, body: mixed) { keywordSwitch(validator) keywordSelect(validator) - if (validator.validate(schema, body)) return [] + const validate = validator.compile(schema) + if (validate(body)) return [] const grouped = new Map for (const error of validator.errors) {