diff options
Diffstat (limited to 'teal-src/util/jsonschema.tl')
-rw-r--r-- | teal-src/util/jsonschema.tl | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/teal-src/util/jsonschema.tl b/teal-src/util/jsonschema.tl index 3df17477..87269f01 100644 --- a/teal-src/util/jsonschema.tl +++ b/teal-src/util/jsonschema.tl @@ -192,10 +192,6 @@ local function validate(schema : schema_t | type_e | boolean, data : any) : bool end end - if not simple_validate(schema.type, data) then - return false - end - if schema.const ~= nil and schema.const ~= data then return false end @@ -209,12 +205,17 @@ local function validate(schema : schema_t | type_e | boolean, data : any) : bool return false end - local validator = type_validators[schema.type] - if not validator then - return true - end + if schema.type then + if not simple_validate(schema.type, data) then + return false + end - return validator(schema, data) + local validator = type_validators[schema.type] + if validator then + return validator(schema, data) + end + end + return true end end |