Схема AJV не работает должным образом. Кажется, это обычная проблема, когда свойство имеет логическое значение. ⇐ Javascript
-
Гость
Схема AJV не работает должным образом. Кажется, это обычная проблема, когда свойство имеет логическое значение.
Схема ajv, похоже, дает сбой, не знаю, почему это происходит
Схема Velow ajv
{ "$schema": "http://json-schema.org/draft-07/schema#", "title": "Обновить конфигурацию приложения, поддержка и оформление заявок", "тип": "объект", "характеристики": { "servicenowEnabled": { "тип": "логическое значение" }, "servicenowClientId": { "тип": "строка" }, "servicenowClientSecret": { "тип": "строка" }, "servicenowBaseUrl": { "тип": "строка", "формат": "регулярное выражение", "pattern": ".*service-now.com$" }, "servicenowKnowledgeBaseEnabled": { "тип": "логическое значение" }, "servicenowKnowledgeBaseSelected": { "тип": "объект", "характеристики": { "показать все": { "тип": "логическое значение" }, "выбранный список": { "тип": "массив", "предметы": { "тип": "объект" }, "характеристики": { "идентификатор": { "тип": "строка", "минДлина": 1 }, "имя": { "тип": "строка", "минДлина": 1 } } } }, "необходимый": [ "показать все" ], "если": { "характеристики": { "показать все": { «константа»: правда } } }, "затем": { "характеристики": { "выбранный список": { "константа": [] } } }, "еще": { "характеристики": { "выбранный список": { "минитемс": 1 } } } }, "servicenowKnowledgeBaseName": { "тип": "строка", "минДлина": 1 }, "servicenowKnowledgeBaseUrl": { "тип": "строка", "формат": "ури" }, "servicenowTicketsEnabled": { "тип": "логическое значение" }, "servicenowTicketsName": { "тип": "строка", "минДлина": 1 }, "servicenowTicketsUrl": { "тип": "строка", "формат": "ури" }, "servicenowCreateTicketsEnabled": { "тип": "логическое значение" }, "servicenowNotificationEnabled": { "тип": "логическое значение" } }, "все": [ { "если": { "характеристики": { "servicenowEnabled": { «константа»: правда } } }, "затем": { "необходимый": [ "servicenowEnabled", "servicenowBaseUrl" ] }, "еще": { "необходимый": [ "servicenowEnabled" ] } }, { "если": { "характеристики": { "servicenowKnowledgeBaseEnabled": { «константа»: правда } } }, "затем": { "необходимый": [ "servicenowKnowledgeBaseUrl", "servicenowKnowledgeBaseName", «servicenowKnowledgeBaseSelected» ] }, «еще»: правда } ], «дополнительные свойства»: ложь } не удалось выполнить тестовый пример
{ servicenowEnabled: ложь, servicenowBaseUrl: 'http://base-url.service-now.com', servicenowClientId: 'clientID', servicenowClientSecret: 'clientSecret' } Я даже пробовал добавить not require вместо else: true, но безрезультатно. Я тоже пробовал несколько вещей, но, похоже, ничего не работает. Я хочу сделать строго доступным только одно поле, а остальное - на основе другого логического значения
Схема ajv, похоже, дает сбой, не знаю, почему это происходит
Схема Velow ajv
{ "$schema": "http://json-schema.org/draft-07/schema#", "title": "Обновить конфигурацию приложения, поддержка и оформление заявок", "тип": "объект", "характеристики": { "servicenowEnabled": { "тип": "логическое значение" }, "servicenowClientId": { "тип": "строка" }, "servicenowClientSecret": { "тип": "строка" }, "servicenowBaseUrl": { "тип": "строка", "формат": "регулярное выражение", "pattern": ".*service-now.com$" }, "servicenowKnowledgeBaseEnabled": { "тип": "логическое значение" }, "servicenowKnowledgeBaseSelected": { "тип": "объект", "характеристики": { "показать все": { "тип": "логическое значение" }, "выбранный список": { "тип": "массив", "предметы": { "тип": "объект" }, "характеристики": { "идентификатор": { "тип": "строка", "минДлина": 1 }, "имя": { "тип": "строка", "минДлина": 1 } } } }, "необходимый": [ "показать все" ], "если": { "характеристики": { "показать все": { «константа»: правда } } }, "затем": { "характеристики": { "выбранный список": { "константа": [] } } }, "еще": { "характеристики": { "выбранный список": { "минитемс": 1 } } } }, "servicenowKnowledgeBaseName": { "тип": "строка", "минДлина": 1 }, "servicenowKnowledgeBaseUrl": { "тип": "строка", "формат": "ури" }, "servicenowTicketsEnabled": { "тип": "логическое значение" }, "servicenowTicketsName": { "тип": "строка", "минДлина": 1 }, "servicenowTicketsUrl": { "тип": "строка", "формат": "ури" }, "servicenowCreateTicketsEnabled": { "тип": "логическое значение" }, "servicenowNotificationEnabled": { "тип": "логическое значение" } }, "все": [ { "если": { "характеристики": { "servicenowEnabled": { «константа»: правда } } }, "затем": { "необходимый": [ "servicenowEnabled", "servicenowBaseUrl" ] }, "еще": { "необходимый": [ "servicenowEnabled" ] } }, { "если": { "характеристики": { "servicenowKnowledgeBaseEnabled": { «константа»: правда } } }, "затем": { "необходимый": [ "servicenowKnowledgeBaseUrl", "servicenowKnowledgeBaseName", «servicenowKnowledgeBaseSelected» ] }, «еще»: правда } ], «дополнительные свойства»: ложь } не удалось выполнить тестовый пример
{ servicenowEnabled: ложь, servicenowBaseUrl: 'http://base-url.service-now.com', servicenowClientId: 'clientID', servicenowClientSecret: 'clientSecret' } Я даже пробовал добавить not require вместо else: true, но безрезультатно. Я тоже пробовал несколько вещей, но, похоже, ничего не работает. Я хочу сделать строго доступным только одно поле, а остальное - на основе другого логического значения
Мобильная версия