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!