问题
I want to have my JSON Schema validate that no more than two decimal places are sent to my REST api.
From what I can see in the latest JSON Schema RFC (v4) doesn't allow this. V1 had a maxDecimals validator.
Does anyone know why that was taken out?
I have a field that only holds two decimals when I store it in the database, and I do not just want to round down to two decimals. That would be changing the input quite dramatically for some users. So I want to reject any greater precision and force them to round them selves.
I can of course do this using a custom validator that I write myself, but I would rather not unless I absolutely have to.
Is there another way of indicating this in v4?
Thanks
回答1:
They replaced it with multipleOf (via v3 divisibleBy).
For 2 decimal places, just add multipleOf: 0.01.
回答2:
I would suggest { "type": "number", "multipleOf": 0.01 } rather than { "type": "integer", "multipleOf": 0.01 }
.
See http://spacetelescope.github.io/understanding-json-schema/reference/numeric.html#multiples
来源:https://stackoverflow.com/questions/27260587/decimal-precision-in-json-schema