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 exigido: Administrador

Os modelos de formulário permitem criar 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 dar suporte a eles, 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.

Ativando 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 seu modelo.

  2. Use os botões na parte superior da página para adicionar os vários campos ao seu formulário e atualizar 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 existem alguns campos específicos:

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

    • Resposta de Markdown: Os usuários podem adicionar conteúdo diretamente em uma mini-versão do composer. 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 visível do campo
  • placeholder: Texto de ajuda exibido em campos vazios (input, textarea, dropdown, multi-select)
  • 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 (ex: .jpg, .png, .pdf)
  • allow_multiple: Booleano indicando se os usuários podem fazer upload de vários arquivos

Atributos de dropdown e multi-select:

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

Atributos do seletor de Grupo de Tags:

  • tag_group: (propriedade de nível superior do campo) O nome do grupo de tags para preencher as opções
  • none_label: Texto exibido quando nenhuma opção é selecionada
  • multiple: Booleano indicando se os usuários podem selecionar várias tags (o scaffold padrão define isso como true)

Opções de validação

Chave Tipo Descrição
required boolean Exige que o campo seja preenchido para enviar o formulário.
minimum integer Para campos de texto, especifica o número mínimo de caracteres permitidos.
maximum integer Para campos de texto, especifica o número máximo de caracteres permitidos.
pattern regex; string Para campos de texto, uma expressão regular especificando 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, password)

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. Alterne 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 composer. 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 dos campos. 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.

Como são os padrões regex e qual sabor de regex é esperado? Eu tentei os seguintes e todos passaram, mas eu não esperava que passassem:

  • 2[6-9][0-1][0-9][0-3][0-9] com uma entrada de 180918;
  • /2[6-9][0-1][0-9][0-3][0-9]/ com uma entrada de 180918;
  • /2[6-9][0-1][0-9][0-3][0-9]/ com uma entrada de 12;