jsonschema
jsonschema copied to clipboard
How do I use not keyword in Lua?
In jsonschema we have not keyword, but how can I use it in Lua?
For example, We have jsonschema:
"dependencies": {
"field_2": { "not": { "required": ["field_3"] } },
"field_3": { "not": { "required": ["field_2"] } }
}
How do we represent it in Lua, I try like below but it doesn't work:
dependencies = {
field_2 = {
["not"] = {
required = {
"field_3"
}
}
},
field_3 = {
["not"] = {
required = {
"field_2"
}
}
},
}
Can someone help me?
It works for me:
#!/usr/bin/env resty
local schema = {
type = "object",
properties = {
field_2 = {type = "integer", exclusiveMinimum = 0},
field_3 = {type = "integer", exclusiveMinimum = 0},
},
dependencies = {
field_2 = {
["not"] = {
required = {
"field_3"
}
}
},
field_3 = {
["not"] = {
required = {
"field_2"
}
}
},
}
}
local jsonschema = require 'jsonschema'
local myvalidator = jsonschema.generate_validator(schema)
print(myvalidator({field_2 = 1, field_3 = 1}))
print(myvalidator({field_2 = 1}))
Run:
falsefailed to validate dependent schema for "field_2": value wasn't supposed to match schema
true