关于液体含量™POST和PUT api的内容类型字段

POST请求体中的JSON结构需要一个字段数组,内容类型中的每个字段都定义为字段数组中的一个节点。

中的JSON节点的示例字段数组:
fields:[…]{"type": "singleLineText", "defaultValue": null, "setDefaultValueAsHidden": false, "settings": {"subType": "singleLine", "phoneNumberFormat": null}, "validation": {"requireField": {"active": true, "errorMessage": "这是一个必选字段"},"numberOfCharacters": {"active": false, "rangeDefinition": "between", "minimum": null, "minimumUnit": null, "maximum": null, "maximumUnit": null, "errorMessage": "此字段不符合所要求的字符数"},"standardErrorMessage":null}, "id": "aa50984e-b459-4caa-94b9-5fa3a95ff082", "name": "lastName", "label": "Last name", "descriptionActive": false, "description": "" tooltipActive": false, "tooltip": "" ", "row": 0, "width": "half", "position": "half"},…]
提示:在大多数情况下,Evoq UI是创建内容类型的最简单方法。要将内容类型复制到多个站点/服务器,可以使用导出/导入功能。
如果您想创建多个类似的内容类型,或者如果您想重新创建相同的内容类型进行测试,
  1. 在UI中创建一种内容类型,
  2. 从你的应用中请求(GET)该内容类型,
  3. 清理生成的JSON以删除特定的值,例如id内容类型和引用字段的
  4. 用新类型的值替换旧的值。

字段类型

字段可以是以下任意一种类型:

  • 单行的文本
  • 多行文本
  • 数量
  • 多项选择
  • 日期/时间
  • 资产
  • 引用对象
  • 静态文本

每种类型都可能需要额外的设置。例子:单行文本类型要求子类型设置。

另请参阅验证部分

字段类型 代码片段(s)
单行的文本

对于纯文本字段:

"type": "singleLineText", "settings": {"subType": "singleLineText", "phoneNumberFormat": null}

URL/网站:

"type": "singleLineText", "settings": {"subType": "url", "phoneNumberFormat": null}

电子邮件地址:

"type": "singleLineText", "settings": {"subType": "email", "phoneNumberFormat": null}

电话号码:

"type": "singleLineText", "settings": {"subType": "phoneNumber", "phoneNumberFormat": null}
多行文本

对于纯文本:

"type": "multiLineText", "settings": {"subType": "multiLine"}

对于富文本:

"type": "multiLineText", "settings": {"subType": "textEditor"}
数量

例子:

"type": "numberSelector", "settings": {"subType": "singleLine", "numberSetFormat": "decimal", "spinnerOrientation": "horizontal", "numberRange": {"minimum": 1.0, "maximum": 5.0}}

指定数字集。

  • 整数:“numberSetFormat”:“整数”
  • 小数:“numberSetFormat”:“小数”
  • 百分比:“numberSetFormat”:“百分比”

要指示所选内容如何在UI中显示:

  • 作为纯文本框:
    “子类型”:“单行模式”
  • 作为垂直纺纱机:
    "subType": "spinner", "spinnerOrientation": "vertical"
  • 作为水平旋转器:
    "subType": "spinner", "spinnerOrientation": "horizontal"
  • 下拉列表:
    “子类型”:“下拉”

要指定数字范围,无论数字集如何,都使用浮点数:

"numberRange": {"minimum": 1.0, "maximum": 5.0}
多项选择

例子:

"type": "multipleChoice", "defaultValue": "blue", "settings": {"subType": "dropDown", "choices": [{"label": "blue"}, {"label": "green"}], "multiSelect": false, "listOrientation": "vertical", "otherAsAnOption": false}

更改Evoq界面中选项的显示方式:

  • 下拉列表:“子类型”:“下拉”
  • 复选框:“子类型”:“复选框”
  • radiobuttons:“子类型”:“radioButton”

要指定这些选项,请将每个选项输入为a的值标签选择数组中。

"settings":{…“选择”:[{“标签”:“蓝色”},{“标签”:“绿色 " } ], ...}

表示所选选项的数量:

  • 为了只允许一种选择,“多选”:假的
  • 要允许多个选择,“多选”:真的

要指定复选框和单选按钮的显示方式(下拉列表将忽略列表方向):

  • 要垂直显示选项,“listOrientation”:“垂直”
  • 要横向显示选项,“listOrientation”:“水平”

允许其他作为一种选择:“otherAsAnOption”:真的

日期/时间

例子:

"type": "dateTime", "settings": {"subType": "date", "dateFormat": "yyyymmdd", "timeFormat": "hr24", "timeZoneInfoActive": false, "timeZoneInfoId": "Dateline Standard Time"},

要选择变体:

  • 只适用于日期:“子类型”:“日期”
  • 仅限该时段:“子类型”:“时间”
  • 日期和时间:“子类型”:“dateTime”

有效的日期格式:

  • :“dateFormat ddmmyy”
  • :“dateFormat mmddyy”
  • :“dateFormat ddmmyyyy”
  • :“dateFormat mmddyyyy”
  • “dateFormat”:“名称”

有效的时间格式:

  • :“timeFormat hr24”
  • “timeFormat”:“真”

使用默认时区:

"timeZoneInfoActive": false, "timeZoneInfoId": "日期标准时间"

为指定的时间指定UTC时间:

"timeZoneInfoActive": true, "timeZoneInfoId": "UTC"

指定指定时间的太平洋时区:

"timeZoneInfoActive": true, "timeZoneInfoId": "太平洋标准时间"
资产

对于图像资产:

“类型”:“资产”,“设置”:{“子类型”:“形象”,“maxAssets”:1},

对于文档资产:

"type": "assets", "settings": {"subType": "document", "maxAssets": 1},
引用对象

只接受一个引用:

"type": "referenceObject", "settings": {"subType": "singleReferenceObject"}

接受多个引用:

"type": "referenceObject", "settings": {"subType": "multiReferenceObject"}
静态文本

要指定静态标题(headingType可以是"h2", "",):

"type": "staticText", "settings": {"subType": "heading", "headingType": "h2", "headingContent": "MyHeading", "分段内容":""},

指定一段:

"type": "staticText", "settings": {"subType": "段落","headingType": "", "headingContent": "", "段落content ": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. "Nam imperdiet turpis turpis, blandit varius nibh dignissim ut "},

名称和标签

所有字段都需要名称和标签。例子:

"name": "firstName", "label": "First name"

默认值

字段可以有一个默认值设置(defaultValue),以字符串的形式存储。无论字段是否有默认值,此设置都是必需的。

您还可以对用户隐藏默认值。但是,如果默认值是隐藏的,则该字段一定不需要。

没有默认值:
defaultValue:空

默认值如下所示:

"defaultValue": "This is my default.", "setDefaultValueAsHidden": false

默认值是隐藏的:

"defaultValue": "This is my default.", "setDefaultValueAsHidden": true,…"validation": {"requireField": {"active": false, "errorMessage": null},},…

验证

您可以选择要求对字段中输入的数据进行验证。每种字段类型需要不同的验证设置。

示例:以下设置要求为单行文本字段设置一个值,但它不限制可以输入的字符数:

"validation": {"requireField": {"active": true, "errorMessage": "This is a required field"}, "numberOfCharacters": {"active": false, "rangeDefinition": "between", "minimum": null, "minimumUnit": null, "maximum": null, "maximumUnit": null, "errorMessage": "This field does not meet the required number of characters"}, "standardErrorMessage": null}

验证Node可以包含以下设置。

验证设置 适用于字段类型 描述和示例
requireField

所有字段类型

如果该字段是可选的,

"requireField": {"active": false, "errorMessage": null}

如果用户必须为字段输入一个值,

"requireField": {"active": true, "errorMessage": "这是必填字段"}
standardErrorMessage

所有字段类型

用于没有定义错误消息的所有其他错误的错误消息。

“standardErrorMessage”:null
numberOfCharacters

singleLineText
multiLineText

如果字段可以包含任意数量的字符,则

"numberOfCharacters": {"active": false, "rangeDefinition": null, "minimum": null, "minimumUnit": null, "maximum": null, "maximumUnit": null, "errorMessage": null},

如果必须限制字符的数量,可以指定一个范围,只指定最小值,或只指定最大值。

范围限制:如果文本必须有5到140个字符,

"numberOfCharacters": {"active": true, "rangeDefinition": "between", "minimum": 5, "minimumUnit": null, "maximum": 140, "maximumUnit": null, "errorMessage": "This field does not meet the required number of characters"},

最小限制:如果文本必须至少有20个字符,

"numberOfCharacters": {"active": true, "rangeDefinition": "minimum", "minimum": 20, "minimumUnit": null, "maximum": null, "maximumUnit": null, "errorMessage": "This field does not meet the required number of characters"},

最大限制:如果文本不超过500个字符,

"numberOfCharacters": {"active": true, "rangeDefinition": "maximum", "minimum": null, "minimumUnit": null, "maximum": 500, "maximumUnit": null, "errorMessage": "This field does not meet the required number of characters"},
numberOfReferences

referenceObject(多引用对象)

如果字段可以包含任意数量的引用,

"numberOfReferences": {"active": false, "rangeDefinition": null, "minimum": null, "minimumUnit": null, "maximum": null, "maximumUnit": null, "errorMessage": null},

如果必须限制引用的数量,您可以指定一个范围,只有最小值,或只有最大值。

范围限制:如果该字段必须引用2 ~ 5个内容项,

"numberOfReferences": {"active": true, "rangeDefinition": "between", "minimum": 2, "minimumUnit": null, "maximum": 5, "maximumUnit": null, "errorMessage": "This field does not meet the required number of references"},

最小限制:如果字段必须引用至少2个内容项,

"numberOfReferences": {"active": true, "rangeDefinition": "minimum", "minimum": 2, "minimumUnit": null, "maximum": null, "maximumUnit": null, "errorMessage": "This field does not meet the required number of references"},

最大限制:如果该字段必须引用不超过5个内容项,

"numberOfReferences": {"active": true, "rangeDefinition": "maximum", "minimum": null, "minimumUnit": null, "maximum": 5, "maximumUnit": null, "errorMessage": "This field does not meet the required number of references"},
dropdownOrder

numberSelector

“dropdownOrder”:“提升”
dateRange

dateTime

如果日期没有限制,

"dateRange": {"active": false, "rangeDefinition": null, "startDateTime": null, "endDateTime": null, "errorMessage": null}

如果必须限制日期,则可以指定日期范围(之间的),只有开始日期(),或只显示结束日期(之前).

范围限制:如果日期必须在2017-07-10到2017-07-14之间,

"dateRange": {"active": true, "rangeDefinition": "between", "startDateTime": "2017-07-10T19:00:00Z", "endDateTime": "2017-07-14T19:00:00Z", "errorMessage": "Your date is not in the accepted date range."}

开始日期限制:如果日期必须在2017-07-31之后,

"dateRange": {"active": true, "rangeDefinition": "after", "startDateTime": "2017-07-31T19:00:00Z", "endDateTime": null, "errorMessage": "Your date is not in the accepted date range."}

结束日期限制:如果日期必须在2017-07-01之前,

"dateRange": {"active": true, "rangeDefinition": "before", "startDateTime": null, "endDateTime": "2017-07-01T19:00:00Z", "errorMessage": "Your date is not in the accepted date range."}
timeRange

dateTime

如果时间不受限制,

"timeRange": {"active": false, "rangeDefinition": null, "startDateTime": null, "endDateTime": null, "errorMessage": null}

如果必须限制时间,则可以指定时间跨度(之间的),只有开始时间(),或只显示结束时间(之前).

时间跨度限制:如果时间必须在一个时间跨度内,

"timeRange": {"active": true, "rangeDefinition": "between", "startDateTime": "09:00:00", "endDateTime": "19:59:00", "errorMessage": "Your time is not in the accepted time range."}

开始时间限制:如果必须在21:00之后,

"timeRange": {"active": true, "rangeDefinition": "after", "startDateTime": "21:00:00", "endDateTime": "23:59:00", "errorMessage": "Your time is not in the accepted time range."}

结束时间限制:如果时间必须在05:00之前,

"timeRange": {"active": true, "rangeDefinition": "before", "startDateTime": "00:00:00", "endDateTime": "05:00:00", "errorMessage": "Your time is not in the accepted time range."},

用户提示

若要提供描述字段用途的提示,可以添加字段说明或工具提示。

设置 描述和示例
描述
  • descriptionActive
  • 描述
descriptionActive真正的的值描述在Evoq界面的字段下面。

没有描述:

"descriptionActive": false, "description": ""

描述:

"descriptionActive": true, "description": "这是字段描述。"
工具提示
  • tooltipActive
  • 工具提示
tooltipActive真正的包含信息图标,该图标显示的值工具提示在Evoq界面点击/点击时。

没有提示:

"tooltipActive": false, "tooltip": ""

提示:

"tooltipActive": true, "tooltip": "这是字段的工具提示。"

UI定位

为了在UI中正确显示内容类型,需要进行一些设置。显示字段的画布由行组成。每行可以分成三个或四个相等的部分,每个部分包含一个字段。

设置 描述和示例
行编号从零开始;因此,第一行是第0行。

例子:row: 2

宽度 域的宽度,相对于画布的宽度。可能取值为:
  • 完整的
  • 四分之三
  • 三分之二
  • 一半
  • 第三
  • 季度
注意:行之间的除法必须一致宽度位置
例子:
  • "width": "full"
  • "width": "twoThirds"
  • "width": "quarter"
位置 字段在行中的位置。

如果将行划分为4段,可能的值为:

  • 开始
  • 季度
  • 一半
  • 四分之三

如果将行分为三段,可能的值为:

  • 开始
  • 第三
  • 三分之二
注意:行之间的除法必须一致宽度位置

例子:

  • "position": "start"
  • “位置”:“一半”
  • “位置”:“第三”
重要的是:如果行溢出(即字段太多),如果字段在一行中重叠,或者字段采用不同类型的行划分(即一个字段使用四分之一,另一个字段使用三分之一),则POST请求可能会被拒绝。

如果宽度为完整的,位置必须是开始,同一行中不允许有其他字段。

"row": 0, "width": "full", "position": "start"