5.12.6.3. 为属性配置表单输入文件
Red Hat Single Sign-On 提供了内置注解,以配置哪些输入类型用于动态形式的属性及其视觉化的其他方面。
可用注解:
| 名称 | 描述 |
|---|---|
| inputType | 表单输入字段的类型。下表描述了可用类型。 |
| inputHelperTextBefore |
在输入字段之前呈现的帮助文本(再次)输入字段。此处可以使用直接文本或国际化模式(如 |
| inputHelperTextAfter |
在输入字段后(在下面)呈现帮助文本。此处可以使用直接文本或国际化模式(如 |
| inputOptionsFromValidation | 选择和多选类型的注解。用于获取输入选项的自定义属性验证的可选名称。请参阅以下 详细说明。 |
| inputOptionLabelsI18nPrefix | 选择和多选类型的注解。在 UI 中呈现选项的国际化密钥前缀。请参阅以下 详细说明。 |
| inputOptionLabels | 选择和多选类型的注解。可选映射来为选项定义 UI 标签(直接或使用国际化)。请参阅以下 详细说明。 |
| inputTypePlaceholder |
应用于字段的 HTML 输入 |
| inputTypeSize |
应用于字段的 HTML 输入 |
| inputTypeCols |
应用于字段的 HTML 输入 |
| inputTypeRows |
应用于字段的 HTML 输入 |
| inputTypePattern |
HTML 输入 |
| inputTypeMaxLength |
应用于提供客户端验证的字段 HTML 输入 |
| inputTypeMinLength |
HTML 输入 |
| inputTypeMax |
HTML 输入 |
| inputTypeMin |
HTML 输入 |
| inputTypeStep |
应用到字段的 HTML 输入 |
字段类型使用 HTML 表单字段标签和应用到它们的属性 - 它们基于 HTML 规格和浏览器支持。
视觉化呈现还取决于使用主题中应用的 cs 风格。
可用的 inputType 注解值:
| 名称 | 描述 | 使用的 HTML 标签 |
|---|---|---|
| text | 单行文本输入。 | 输入 |
| textarea | 多行文本输入. | textarea |
| select | 常见单选输入。请参考 如何在下面配置选项的说明。 | select |
| select-radiobuttons | 单个选择通过一组单选按钮的输入。请参考 如何在下面配置选项的说明。 | 输入组 |
| multiselect | 常见多选输入.请参考 如何在下面配置选项的说明。 | select |
| multiselect-checkboxes | 通过组复选框进行多选择输入。请参考 如何在下面配置选项的说明。 | 输入组 |
| html5-email | 基于 HTML 5 规格的电子邮件地址的单行文本输入。 | 输入 |
| html5-tel | 基于 HTML 5 规格的电话号码的单行文本输入。 | 输入 |
| html5-url | 基于 HTML 5 规格的 URL 的单行文本输入。 | 输入 |
| html5-number |
基于 HTML 5 规格的单行输入(整数或浮点数) | 输入 |
| html5-range | 基于 HTML 5 规格输入的数字幻灯片。 | 输入 |
| html5-datetime-local | 基于 HTML 5 规格的日期时间输入。 | 输入 |
| html5-date | 基于 HTML 5 规格的日期输入。 | 输入 |
| html5-month | 基于 HTML 5 规格的每月输入。 | 输入 |
| html5-week | 基于 HTML 5 规格的星期一输入。 | 输入 |
| html5-time | 基于 HTML 5 规格的时间输入。 | 输入 |
5.12.6.3.1. 定义选择和多选字段的选项 复制链接链接已复制到粘贴板!
选择和多选择字段的选项从验证应用到属性,以确保 UI 中提供的验证和字段选项始终一致。默认情况下,选项取自内置 选项 验证。
您可以使用各种方法为选择和多选选项提供 nice 人类可读标签。最简单的情况是,属性值与 UI 标签相同。本例中不需要任何额外的配置。
选项值与 UI 标签相同
如果属性值是不适合 UI 的 ID,您可以使用 inputOptionLabelsI18nPrefix 注解提供的简单国际化支持。它定义了国际化键的前缀,选项值是附加到这个前缀的点。
使用 i18n 键前缀进行 UI 标签的简单国际化
选项值的本地化 UI 标签文本必须由 userprofile.jobtitle.sweng 和 userprofile.jobtitle.swarch 键提供,然后使用常见的本地化机制。
您还可以使用 inputOptionLabels 注解为单个选项提供标签。它包含映射中选项 - 键的标签映射(在验证中定义),映射中的值是 UI 标签文本自身或其国际化模式(如 ${i18n.key})用于该选项。
您必须使用 User Profile JSON Editor 输入 map 作为 inputOptionLabels 注解值。
没有国际化的单个选项直接输入标签示例:
"attributes": [
...
{
"name": "jobTitle",
"validations": {
"options": {
"options":[
"sweng",
"swarch"
]
}
},
"annotations": {
"inputType": "select",
"inputOptionLabels": {
"sweng": "Software Engineer",
"swarch": "Software Architect"
}
}
}
...
]
独立选项的国际化标签示例:
"attributes": [
...
{
"name": "jobTitle",
"validations": {
"options": {
"options":[
"sweng",
"swarch"
]
}
},
"annotations": {
"inputType": "select-radiobuttons",
"inputOptionLabels": {
"sweng": "${jobtitle.swengineer}",
"swarch": "${jobtitle.swarchitect}"
}
}
}
...
]
本地化文本必须由作业标题. swengineer 和 键提供,然后使用常见的本地化机制。
jobtitle. sw 架构
自定义验证器可用于提供选项,因为 inputOptionsFromValidation attribute 注解。此验证必须具有提供 选项的 config 数组的选项。国际化的方式与内置 选项验证的选项相同。
自定义验证器提供的选项