Skip to content

Catálogo de tipos de campo

O construtor de formulários vem com 17 tipos de campo. Eles se dividem em três grupos: campos de input que coletam dados do visitante, campos de escolha que limitam o input a uma lista, e campos de exibição que não recebem input mas ajudam a estruturar o formulário.

Seletor de tipo de campo

Quando você clica em + Campo na barra de ferramentas, recebe um menu mostrando todos eles. Escolha o que serve.

Campos de input

Estes aceitam input livre — um nome, um número de telefone, uma redação.

Text

Um input de uma única linha. Melhor para nomes, títulos, respostas curtas ("Qual sua música de adoração favorita?"). O tipo de campo mais usado de longe.

Validação: min_length, max_length. Se você definir ambos, o campo rejeita envios fora do intervalo.

Textarea

Um input multilinha. Melhor para pedidos de oração, comentários, respostas mais longas em estilo de história. Padrão três linhas de altura — cresce automaticamente enquanto o visitante digita.

Validação: o mesmo que Text — min_length, max_length.

Email

Um campo de texto validado contra uma regex de e-mail (qualquercoisa@qualquercoisa.tld). Input com formato errado mostra um erro ao perder o foco.

O fluxo de envio do formulário também usa automaticamente o valor de um campo email como submitter_email na linha de envio resultante — é o que aparece na coluna Email na tabela de envios. Se você tem múltiplos campos de email, o primeiro com um valor ganha.

Phone

Um campo de texto que aceita um número de telefone. Não há formato imposto porque a validação de telefone é bagunçada internacionalmente — mas mostra um teclado estilo telefone no mobile.

Number

Um input numérico com min, max e step opcionais. Melhor para contagens ("Quantas pessoas vêm?"), idades, avaliações em uma escala personalizada.

O valor de step controla a granularidade — step: 1 só permite inteiros, step: 0.5 permite meios.

Date

Um seletor de data. Padrão a data de hoje no placeholder. Armazena como string de data ISO (YYYY-MM-DD).

Time

Um seletor de hora. Armazena como HH:MM (24 horas internamente; a localização do visitante controla como é exibido).

URL

Um campo de texto validado contra https?://.... Útil para "Link para seu vídeo de testemunho" ou "Suas redes sociais."

File upload

Permite ao visitante anexar um único arquivo. Uploads vão para o bucket de armazenamento Supabase form-uploads no caminho {org_id}/submissions/{submission_id}/{field_id}/{filename}.

Configuração:

  • Allowed file types — predefinições de caixa de seleção para PDF, Images, Documents, Spreadsheets, mais uma caixa de texto de extensões personalizadas (.dwg, .ai, .zip). Padrão PDF + formatos de imagem comuns.
  • Max file size (MB) — limitado a 100MB. Padrão 5MB.

Se o arquivo do visitante falha em qualquer verificação, o formulário mostra um erro inline antes de ele poder enviar.

Rating

Um controle de avaliação por estrelas. Visitantes tocam nas estrelas; o valor armazenado é a contagem selecionada. O número de estrelas é configurável de 1–10 (max_stars), padrão 5.

Melhor para "Como você avalia o culto de hoje?" ou "Avalie a experiência do grupo pequeno."

Campos de escolha

Estes limitam a resposta do visitante a uma lista de opções que você controla. Você adiciona opções na seção Type Options da configuração do campo — clique em + Add option para adicionar linhas.

Select (único)

Um dropdown. O visitante escolhe uma opção. Melhor quando você tem mais de cinco opções e não quer que todas fiquem visíveis.

Multi-select

Um dropdown que permite múltiplas seleções. Valores selecionados são armazenados como um array.

Radio

Como Select, mas renderiza como uma lista vertical de botões de rádio. O visitante escolhe um. Melhor quando você tem de duas a cinco opções e quer que todas fiquem visíveis.

Checkbox

Este tem propósito duplo:

  • Nenhuma opção configurada — renderiza como uma única caixa de seleção sim/não. Usado para coisas como "Concordo em ser contatado." Quando marcado como obrigatório, o visitante deve marcar para enviar.
  • Opções configuradas — renderiza como uma lista de caixas de seleção; o visitante pode marcar qualquer número. Armazenado como um array de valores selecionados.

Campos de exibição

Estes não coletam nada. Eles estruturam o formulário.

Heading

Um cabeçalho de seção em texto maior dentro de uma seção. Nível configurável: H2, H3 ou H4. Útil quando você tem uma única seção longa mas quer uma quebra visual dentro dela ("Dados pessoais" depois alguns campos, depois "Seu pedido" depois mais campos).

Cabeçalhos não são obrigatórios, não são validados e nunca aparecem em envios. São pura disposição.

Divider

Uma régua horizontal. Útil entre grupos conceitualmente diferentes de campos quando você não quer um cabeçalho. Ainda menos dados que um cabeçalho — sem rótulo, sem configuração.

Hidden

Um campo que não aparece para o visitante mas envia um valor padrão com o envio. default_value configurável na configuração do campo.

Casos de uso:

  • Marcar cada envio com a origem — ex.: um campo oculto source = "youth-camp-flyer" para você saber quais envios vieram de qual flyer
  • Pré-preencher um valor via query string da URL (avançado — requer um bloco personalizado do construtor de site; ainda não suportado na URL independente do formulário)
  • Rastrear um código de campanha sem pedir para o visitante digitar

Tabela de decisão rápida

Você quer…Tipo de campo
Uma resposta curtaText
Uma resposta em parágrafoTextarea
Um e-mail obrigatório para contatoEmail
Um número de telefonePhone
Uma contagem, idade ou quantidadeNumber
Uma data de agendamentoDate
Um horário de inícioTime
Um linkURL
Uma foto assinada / autorização / PDFFile upload
Uma pontuação de satisfação 1–5Rating
Escolher um entre muitosSelect ou Radio
Escolher muitos entre muitosMulti-select ou Checkbox (com opções)
Uma caixa de consentimentoCheckbox (sem opções)
Quebra de seçãoHeading ou Divider
Metadados silenciososHidden

Alguns tipos de campo que aparecem às vezes mas não são integrados:

  • Painel de assinatura — ainda não suportado. Para autorizações, peça ao visitante para digitar seu nome em um campo Text rotulado "Digite seu nome para assinar."
  • Lógica condicional ("mostrar este campo só se o anterior for sim") — ainda não suportada. Se você precisa de ramificação, construa dois formulários separados e compartilhe o link certo conforme a situação.
  • Grupos repetitivos ("adicionar outro participante") — não suportado. Peça uma contagem em um campo Number em vez disso.

Estes são rastreados no roadmap; o construtor de formulários ainda está amadurecendo.