Criando modelos de formulário

:bookmark: Este guia explica como usar modelos de formulário para estruturar conteúdo no Discourse.

:person_raising_hand: Nível de usuário necessário: Administrador

Modelos de formulário permitem que você crie formulários estruturados com regras de validação que os usuários podem preencher ao criar tópicos, para que você possa garantir que os usuários forneçam todas as informações que deseja ou precisa para apoiá-los, como em relatórios de bugs, solicitações de recursos, etc.

Nota: Para modelos que funcionam mais como diretrizes do que como um formulário estruturado, considere usar modelos de tópico.

Habilitando modelos de formulário

Você pode ativar modelos de formulário em Mudanças futuras definindo Habilitar modelos de formulário como “Todos”.

Criando modelos de formulário

Você pode criar e gerenciar modelos de formulário acessando Admin > Aparência > Modelos de formulário (/admin/customize/form-templates).

Para criar um modelo de formulário:

  1. Clique em Novo Modelo.

  1. Atualize o campo Nome do Modelo com um nome interno para o seu modelo.

  2. Use os botões na parte superior da página para os vários campos do seu formulário e atualize os atributos do campo (detalhados abaixo). Muitas das opções são tipos de campo de formulário padrão (por exemplo, caixa de seleção, resposta curta, lista suspensa, etc.), mas há alguns campos específicos:

    • Seletor de Grupo de Tags: Os usuários podem selecionar uma ou mais tags de um grupo específico.

    • Resposta Markdown: Os usuários podem adicionar conteúdo diretamente em uma mini-versão do compositor. Isso é ideal para quando os membros precisam inserir Markdown diretamente, como código, ou precisam de outra formatação suportada pelo editor rico.

  3. Adicione quaisquer validações desejadas às suas entradas. Clique no botão Validação para uma chave (também exibida abaixo).

  4. Clique no botão Visualizar para garantir que tudo pareça correto.

  5. Clique em Salvar.

Atributos de campo

Atributos comuns para todos os tipos de campo:

  • label: O nome do campo visível
  • placeholder: Texto de ajuda exibido em campos vazios (entrada, área de texto, lista suspensa, seleção múltipla)
  • description: Contexto ou instruções adicionais exibidas abaixo do campo.

Atributos específicos de upload:

  • file_types: Lista separada por vírgulas de extensões de arquivo permitidas (por exemplo, .jpg, .png, .pdf)
  • allow_multiple: Booleano indicando se os usuários podem fazer upload de vários arquivos

Atributos de lista suspensa e seleção múltipla:

  • none_label: Texto exibido quando nenhuma opção é selecionada
  • choices: Array de opções disponíveis

Opções de validação

Chave Tipo Descrição
required booleano Exige que o campo seja preenchido para enviar o formulário.
minimum inteiro Para campos de texto, especifica o número mínimo de caracteres permitidos.
maximum inteiro Para campos de texto, especifica o número máximo de caracteres permitidos.
pattern regex; string Para campos de texto, uma expressão regular que especifica a entrada permitida.
type string Para campos de entrada, você pode especificar o tipo de entrada que deve ser esperado (text, email, date, number, url, tel, color

Adicionando modelos de formulário a uma categoria

Após criar um modelo:

  1. Navegue até a categoria onde deseja usar o modelo.
  2. Clique no botão :wrench: para editar a categoria.

  1. Ative o botão Configurações avançadas (se estiver usando o novo design simplificado de categoria).
  2. Vá para a guia Modelo.
  3. Ative o alternador Modelo de formulário.
  4. Selecione o modelo de formulário no menu suspenso.
  5. Clique em Salvar categoria.

Quando vários modelos são atribuídos a uma categoria, os usuários verão um seletor de modelo ao criar tópicos.

Experiência do Membro

Criando tópicos com modelos de formulário

Quando um membro cria um tópico em uma categoria com modelos de formulário, o formulário aparece automaticamente no compositor. Se vários modelos forem aplicados à mesma categoria, os membros poderão escolher o modelo correto em um menu suspenso. Se os usuários tentarem criar um tópico sem preencher com precisão cada campo, eles verão um erro de validação.

Preenchendo valores de formulário

Os campos do formulário podem ser pré-preenchidos usando parâmetros de URL que correspondem aos IDs de campo. Por exemplo: /new-topic?software-version=2.4.1&severity=Critical

Isso é útil para vincular à criação de tópicos com certos campos já preenchidos.