Создать форму из схемы JSON - PullRequest
0 голосов
/ 06 июня 2018

Я хочу создать HTML-форму на основе существующей схемы JSON.Я хотел знать, был ли ключ field type, который был стандартизирован на property, чтобы, когда я зацикливался на схеме, я мог определить, какой тип поля отображать.

Текущее решение, которое у меня есть, какие ключи используются, если это "type": "string", кажется действительно проблематичным, потому что в некоторых случаях схема хранит URL-адреса в виде строк, которые для формы означают ввод type='file'.Поэтому я думаю, что мне нужны какие-то мета-свойства, но я не хочу излишне загрязнять схему.

Кто-нибудь сталкивался с чем-то подобным и есть ли стандартные свойства для этой проблемы?

1 Ответ

0 голосов
/ 06 июня 2018

Схема JSON не обеспечивает отображение форм HTML в спецификации, вы можете комбинировать type и format, чтобы охватить некоторые случаи.Например,

{"type": "string", "format": "uri"}

может использоваться для проверки URL.

Однако схема JSON является расширяемой, и некоторые реализации предоставляют функции, выходящие за рамки спецификации.Вы можете проверить очень хорошую реализацию отображения формы HTML: https://github.com/mozilla-services/react-jsonschema-form.

Вы можете указать <input type="file" /> с помощью "format": "data-url", который не является частью спецификации схемы JSON, но является пользовательским расширением, предоставляемым реализацией.

Демонстрация: https://mozilla -services.github.io / реагировать-jsonschema-форма /

...