Obrigatório: true não é imposto para o campo de upload em modelos de formulário

Olá! Estou usando os modelos de formulário do Discourse para criação de tópicos, e a validação está funcionando corretamente para todos os tipos de campo exceto upload (anexo).

Apesar de definir validations: required: true em um campo upload, os usuários ainda conseguem enviar o formulário sem anexar nenhum arquivo.

Minha compreensão é que quando um campo upload tem:

validations:
  required: true

…o formulário deve impedir o envio a menos que pelo menos um arquivo seja carregado. O formulário é renderizado corretamente. Outros campos (input, textarea, tag-chooser, validação de URL) impõem o required como esperado, mas o campo upload não bloqueia o envio quando está vazio.

O YAML é válido e o modelo é carregado sem erros. Os uploads de arquivos em si funcionam corretamente quando usados, então o problema parece ser específico da imposição de required no campo upload. Minha string YAML para este upload no meu modelo é assim:

- type: upload
  id: patch-uploaded
  attributes:
    file_types: “.jpg, .png, .gif, .zip”
    allow_multiple: true
    label: “Faça o upload do seu .zip”
  validations:
    required: true

Agradeço antecipadamente por qualquer ajuda!

1 curtida