Inputs, validações e acessibilidade. A ponte entre o usuário e a aplicação.
Autenticação de usuário
Registro de novos usuários
Pesquisa e filtros
Pagamento e pedidos
Formulários são a principal forma de coletar dados do usuário. Praticamente toda aplicação web utiliza pelo menos um formulário.
<form action="/cadastro" method="POST">
<label for="nome">
Nome:
</label>
<input
type="text"
id="nome"
name="nome"
/>
<button type="submit">
Enviar
</button>
</form>
action
method
label + for
name
text Texto simplespassword Senha (oculto)email Email (valida formato)tel Telefoneurl Endereço websearch Campo de buscanumber Número com controlesrange Sliderdate Seletor de datatime Seletor de horadatetime-local Data e horamonth Mês/Anocheckbox Caixa de seleçãoradio Escolha únicafile Upload de arquivocolor Seletor de corhidden Campo ocultosubmit Botão de envio<label for="curso">Curso:</label>
<select id="curso" name="curso">
<option value="">Selecione...</option>
<option value="ads">ADS</option>
<option value="si">Sist. Informação</option>
</select>
<label for="msg">Mensagem:</label>
<textarea
id="msg"
name="mensagem"
rows="4"
placeholder="Escreva aqui..."
></textarea>
<select> para escolha em lista, <textarea> para texto longo.
<input
type="email"
required
placeholder="email@exemplo.com"
/>
<input
type="text"
minlength="3"
maxlength="50"
required
/>
<input
type="number"
min="0"
max="120"
step="1"
/>
<input
type="text"
pattern="[0-9]{3}\.[0-9]{3}\.[0-9]{3}-[0-9]{2}"
title="Formato: 000.000.000-00"
/>
required
Campo obrigatório
minlength
Mínimo de caracteres
maxlength
Máximo de caracteres
min / max
Valor mínimo / máximo
pattern
Expressão regular personalizada
placeholder
Texto de exemplo no campo
lightbulb A validação do navegador é apenas a primeira barreira. Sempre valide também no servidor!
<!-- Input sem label -->
<input type="text"
placeholder="Nome" />
<!-- Label sem for -->
<label>Email</label>
<input type="email" />
<!-- Label associada via for + id -->
<label for="nome">Nome:</label>
<input type="text"
id="nome" name="nome" />
<!-- Ou label envolvendo o input -->
<label>
Email:
<input type="email" name="email" />
</label>
<fieldset>
<legend>Dados Pessoais</legend>
<label for="cpf">CPF:</label>
<input type="text" id="cpf" name="cpf" />
</fieldset>
Crie um formulário de matrícula para a FATEC com os seguintes campos:
Introdução ao CSS: seletores, propriedades e cascata.
<form> (action, method)
<input> (text, email, date,
etc.)
<select> e <textarea>
<label>, <fieldset>, <legend>