Схема JSON максимизировать значение на основе другого свойства - PullRequest
0 голосов
/ 31 января 2019

У меня есть draft7 схема.Два обязательных свойства totalSizeOfFarm и totalAreaGrass, оба типа number и имеют exclusiveMinimum из 0.

Я хочу, чтобы максимум totalAreaGrass не превышал значение totalSizeOfFarm.Можно ли это сделать?

Я смотрел на if..then, но не понимаю, как получить значение totalSizeOfFarm.

Пожалуйста, совет.

1 Ответ

0 голосов
/ 01 февраля 2019

Вы не можете использовать конкретное значение числа из экземпляра JSON в вашей схеме.То, что вы описываете, - это бизнес-логика проверки, которая выходит за рамки JSON-схемы.

Если у вас есть конкретные значения, например, те, которые вы бы указали в перечислении, вы можете делать вещи заранее, основываясь на конкретных значениях, ноне динамически из экземпляра JSON, который вы проверяете.

Тем не менее, ничто не мешает вам добавить собственное ключевое слово и использовать интерфейс для выполнения собственной функции на основе этого ключевого слова.Не все библиотеки поддерживают такие вещи (ajv поддерживает), и это сделает вашу JSON-схему более неиспользуемой другими, что может быть важным фактором.

...