# 创建表单模板

**URL:** https://meta.discourse.org/t/creating-form-templates/397564
**Category:** Site Management
**Tags:** form-templates
**Created:** [2026年三月4日 18:54 UTC](https://meta.discourse.org/t/creating-form-templates/397564 "2026-03-04T18:54:21Z")
**Posts on this page:** 1
**Showing post:** 1

<div class="post-metadata">

### Author: ![lindsey](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/lindsey/32/318210_2.png) [@lindsey](https://meta.discourse.org/u/lindsey)
#### Post date: [2026年三月4日 18:54 UTC](https://meta.discourse.org/t/creating-form-templates/397564/1 "2026-03-04T18:54:21Z")

</div>

> 🔖 本指南说明如何使用表单模板来构建 Discourse 中的内容结构。
> 
> 🙋 所需用户级别：管理员
> 
> **表单模板** 允许您创建带有验证规则的结构化表单，用户在创建主题时可以填写这些表单，以便您可以确保用户提供您希望或需要用来支持他们的所有信息，例如用于错误报告、功能请求等。
> 
> > **注意：** 对于功能更像指南而非结构化表单的模板，请考虑使用[主题模板。](https://meta.discourse.org/t/using-topic-templates-for-categories/38295)
> 
> ## 启用表单模板
> 
> 您可以通过在 **[即将进行的更改](https://meta.discourse.org/t/upcoming-changes/395390)** 中将 **启用表单模板** 设置为“所有人”来开启表单模板。
> 
> ![upcoming-changes-enable-form-templates](https://global.discourse-cdn.com/meta/original/4X/d/8/8/d88594aa6dd335831510256b3e657208e12b3e4e.png)
> 
> ## 创建表单模板
> 
> 您可以通过转到 **管理 \> 外观 \> 表单模板** (`/admin/customize/form-templates`) 来创建和管理表单模板。
> 
> 要创建一个表单模板：
> 
> 1. 点击 新建模板。
> 
> ![form-templates-new-template](https://global.discourse-cdn.com/meta/original/4X/2/d/a/2da5ec115147119a912ea1cd1c6661c6f1b6fc51.png)
> 
> 1. 更新 **模板名称** 字段，为其提供一个内部名称。
> 
> 2. 使用页面顶部的按钮添加表单的各种字段，并更新字段属性（详见下文）。许多选项是标准的表单字段类型（例如，复选框、简答、下拉列表等），但有几个特定字段：
> 
> 3. 为您的输入添加任何所需的验证。点击 **验证** 按钮以获取一个键（也显示在下方）。
> 
> 4. 点击 **预览** 按钮以确保一切看起来正确。
> 
> 5. 点击 **保存** 。
> 
> ![form-templates-create-form](https://global.discourse-cdn.com/meta/original/4X/d/a/9/da94eaf0273713a59db5fa5829d4b9ed53dfba1d.png)
> 
> ### 字段属性
> 
> **所有字段类型的通用属性：**
> 
> - `label`: 可见的字段名称
> - `placeholder`: 空字段中显示的帮助文本（输入、文本区域、下拉列表、多选）
> - `description`: 字段下方显示的附加上下文或说明。
> 
> **特定于上传的属性：**
> 
> - `file_types`: 允许的文件扩展名（例如 `.jpg`, `.png`, `.pdf`）的逗号分隔列表
> - `allow_multiple`: 布尔值，指示用户是否可以上传多个文件
> 
> **下拉列表和多选属性：**
> 
> - `none_label`: 未选择任何选项时显示的文本
> - `choices`: 可用选项的数组
> 
> **标签组选择器属性：**
> 
> - `tag_group`:（顶级字段属性）用于填充选项的标签组的名称
> - `none_label`: 未选择任何选项时显示的文本
> - `multiple`: 布尔值，指示用户是否可以选择多个标签（默认脚手架将其设置为 `true`）
> 
> ### 验证选项
> 
> | 键 | 类型 | 描述 |  
> |----|----|—|  
> | `required` | boolean | 要求填写该字段才能提交表单。 |  
> | `minimum` | integer | 对于文本字段，指定允许的最少字符数。 |  
> | `maximum` | integer | 对于文本字段，指定允许的最大字符数。 |  
> | `pattern` | regex; string | 对于文本字段，指定允许的输入的正则表达式。 |  
> | `type` | string | 对于输入字段，您可以指定应预期的输入类型（`text`, `email`, `date`, `number`, `url`, `tel`, `color`, `password`） |
> 
> ## 将表单模板添加到类别
> 
> 创建模板后：
> 
> 1. 导航到要使用该模板的类别。
> 2. 点击 🔧 按钮编辑类别。
> 
> ![form-templates-edit-category](https://global.discourse-cdn.com/meta/original/4X/9/9/c/99ca4b4954a54d066dd3ad8f62a18fc69f7f8cc4.png)
> 
> 1. 切换 **高级设置** 按钮（如果使用的是新的[简化类别设置](https://meta.discourse.org/t/simplified-category-setup/394971)）。
> 2. 转到 **模板** 选项卡。
> 3. 打开 **表单模板** 切换开关。
> 4. 在下拉菜单中选择表单模板。
> 5. 点击 保存类别。
> 
> ![form-templates-category](https://global.discourse-cdn.com/meta/original/4X/4/0/1/4015f6a7c76e820cf32536bc46dd6f71118748f9.png)
> 
> 当一个类别分配了多个模板时，用户在创建主题时会看到一个模板选择器。
> 
> ## 成员体验
> 
> ### 使用表单模板创建主题
> 
> 当成员在有表单模板的类别中创建主题时，表单会自动显示在编辑器中。如果同一个类别应用了多个模板，成员可以从下拉列表中选择正确的模板。如果用户尝试在未准确填写每个字段的情况下创建主题，他们将看到验证错误。
> 
> ![form-templates-member-experience](https://global.discourse-cdn.com/meta/original/4X/e/c/2/ec22dc50071f0b84ec1b13a277980f310059bbc2.png)
> 
> ### 预填充表单值
> 
> 可以使用与字段 ID 匹配的 URL 参数来预先填充表单字段。例如：`/new-topic?software-version=2.4.1&severity=Critical`
> 
> 这对于链接到主题创建并已填写某些字段的情况很有用。

---

_[View the full topic](https://meta.discourse.org/t/creating-form-templates/397564)._
