# 表单JSON模式
在Form.io平台内呈现的所有表单都是通过使用JSON模式完成的。该架构用于告诉渲染器如何渲染表单,还提供了一种自动生成API以支持表单的方法。除了可以在Form中呈现的所有组件之外,本文档还提供了有关Form JSON Schema结构的详细规范。
# Form JSON
Form.io中定义的每个表单都以“表单定义”开头。它描述了表单本身的属性,例如表单的显示类型,表单的类型,标题,路径等。例如,以下架构描述了一个名为Registration的表单向导。
{
"title": "Registration",
"name": "registration",
"path": "register",
"type": "form",
"display": "wizard",
"components": [...]
}
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
还有更多可以定义的属性,定义如下。
属性 | 描述 | 值 | 示例 |
---|---|---|---|
title | 表单标题 | any string | Registration |
name | 表单的API名称。必须是用作人类可读标识符的驼峰式标识符。 | any string | registration |
path | 表单的URL路径。这是相对于Project API的 base URL的,它可以包含嵌套路径,例如“user/login”。 | any string | 对于以下表单 https://examples.form.io/user/login, 此项目的 base URL为 "https://examples.form.io", path 是 user/login |
type | This is the type of form that is defined. Currently, there are just two types, resource and form . Resources are special kinds of forms that serve as data structures that can be pulled into other forms through the resource component | form or resource | form |
display | The display configuration for this form, where each display interprets the JSON schema differently. For example, the wizard display turns any root Panel component into a separate page within a wizard workflow. | form , wizard , pdf | form |
components | An array of form components where each component is defined through a separate Schema definition described in the Components Schema section. | Array of JSON components | See Components JSON section |
_id | The unique identifier for this form object | uuid string | 59514e15ef644f006d512dc1 |
modified | The modified date where this form schema was modified | ISO-8601 Date String | 2017-06-29T19:24:08.891Z |
created | The created date when this form was created | ISO-8601 Date String | 2017-06-29T19:24:08.891Z |
action | A custom URL to send the POST and PUT submission data to. | URL string | https://yourdomain.com/submission/api |
tags | An array of free-form tags that are assigned to this form. This is useful for categorization of the forms. | Array of any string | ["standard", "user"] |
machineName | A project unique identifier for this form, which allows for seamless migration into other projects and deployments into other environments. | string in the format [project id]:[form name] | jawjclewrjglla:benefitsEnrollment |
project | For forms hosted on https://form.io, this is the Project ID which contains this form. | Project ID | 59514e10ef644f006d512db9 |
owner | The user who was authenticated (using the x-jwt-token header), that created this form. | Submission ID of the authenticated user | 59514e10ef644f006d512db9 |
access | An array of role-permission mappings that assign roles to certain permissions to form schema. | Array of Role-Permission Schema | See Role-Permission Schema |
submissionAccess | An array of role-permission mappings that assign roles to certain permissions to submissions of this form. | Array of Role-Permission Schema | See Role-Permission Schema |
# 角色权限架构
确定谁有权访问Form.io平台内某些操作的架构使用Role-Permission架构,如下所示。
Property | Description | Value |
---|---|---|
type | The type of permission the roles have been assigned. | create_own , create_all , read_own , read_all , edit_own , edit_all , delete_own , delete_all |
roles | An array of Role IDs that are assigned to this role-permission type. | An array of Role ID's |