Структура Схемы данных#
Для создания форм и работы с остальными элементами системы вы должны знать и понимать формат JSON.
Примечание
JSON — текстовый формат обмена данными, основанный на JavaScript. Как и многие другие текстовые форматы, JSON легко читается людьми.
Шаблон схемы данных#
Ниже представлен основной шаблон JSON-схемы для форм со всеми присущими атрибутами. Порядок атрибутов может быть любым.
"scheme": {
"title": "Hello World Form",
"required": [ "FIELDNAME" ],
"order": [ "FIELDNAME" ],
"dependencies": {
"FIELDNAME_0": "[OTHER_FIELDNAMES]"
}
"tabs": [ "OBJECTS" ],
"properties": [
{
"type": "FIELDTYPE",
"name": "FIELDNAME"
"..."
}
]
}
Наименование поля |
Определение |
---|---|
|
заголовок формы. |
|
список полей, обязательных к заполнению. |
|
порядок следования полей в форме. Можно указывать не все поля, в таком случае оставшиеся могут отобразиться в случайном порядке. |
|
список полей, зависящих друг от друга. Если заполнено поле |
|
вкладки для отображения формы по частям. Подробнее о них можно читать в соответствующей статье. |
|
список полей формы. |
|
поле, в котором указывается тип поля. |
|
поле, в котором пользователь указывает название поля. Повторяющихся название в одной |
Основным атрибутом формы является properties
и всё, что внутри него находится.
Все остальные атрибуты можно не добавлять, если такой необходимости нет.
Но форма не будет работать, если не добавить в properties
хотя бы один компонент формы.
Подробнее о компонентах в разделе Компоненты формы.
Пример формы#
Эта форма начинается с атрибутов, в которых:
задаётся название —
title
,порядок отображения компонентов —
order
,список обязательных компонентов —
required
.
"order": [
"Hello World!"
],
"title": "Hello World Form",
"required": [
"Hello World!"
]
Далее в properties
прописываются компоненты с необходимыми атрибутами:
"properties": [
{
"name": "Hello World!",
"order": [
"textField",
"dateField"
],
"required": [
"textField",
"dateField"
],
"type": "object",
"title": "Привет, мир!",
"properties": [
{
"type": "text",
"title": "Приветствие в текстовом виде",
"description": "Введите приветствие",
"name": "textField"
},
{
"type": "date",
"title": "Дата приветствия",
"description": "Выберите дату приветствия",
"helperText": "Советуем приветствовать мир в течение рабочего дня, иначе есть шанс, что вам не ответят.",
"name": "dateField"
}
В клиентском приложении эта форма будет выглядеть следующим образом:

Подробнее о компонентах, которые использовались в этой форме: