# 上传字段在表单模板中不需要强制为 true

**URL:** https://meta.discourse.org/t/required-true-not-enforced-for-upload-field-in-form-templates/398972
**Category:** Bug
**Tags:** form-templates, fixed
**Created:** [2026年三月21日 17:32 UTC](https://meta.discourse.org/t/required-true-not-enforced-for-upload-field-in-form-templates/398972 "2026-03-21T17:32:47Z")
**Posts on this page:** 1
**Showing post:** 1

<div class="post-metadata">

### Author: ![Muzzydex](https://avatars.discourse-cdn.com/v4/letter/m/e9c0ed/32.png) [@Muzzydex](https://meta.discourse.org/u/Muzzydex)
#### Post date: [2026年三月21日 17:32 UTC](https://meta.discourse.org/t/required-true-not-enforced-for-upload-field-in-form-templates/398972/1 "2026-03-21T17:32:47Z")

</div>

您好！我正在使用 Discourse 表单模板来创建主题，并且验证对于所有字段类型都按预期工作，_除了_ `upload` 字段。

尽管为 `upload` 字段设置了 `validations: required: true`，但用户仍然可以在不附加任何文件的情况下提交表单。

我的理解是，当一个 `upload` 字段具有以下设置时：

```plaintext
validations:
  required: true

```

……表单应该会阻止提交，除非上传了至少一个文件。表单的渲染是正确的。其他字段（input、textarea、tag-chooser、URL validation）按预期强制执行 `required`，但当 `upload` 字段为空时，它并 **不** 阻止提交。

YAML 是有效的，并且模板可以无错误地加载。文件上传本身在使用时工作正常，所以问题似乎是特定于对 `upload` 字段执行 `required`。我的模板中用于上传的 YAML 字符串如下所示：

```yaml
- type: upload
  id: patch-uploaded
  attributes:
    file_types: “.jpg, .png, .gif, .zip”
    allow_multiple: true
    label: “上传您的 .zip 文件”
    validations:
      required: true

```

感谢您的任何帮助！

---

_[View the full topic](https://meta.discourse.org/t/required-true-not-enforced-for-upload-field-in-form-templates/398972)._
