Aula 10: Formulários no Angular 📝
Nesta aula, vamos aprender como coletar e validar dados dos usuários usando as duas abordagens do Angular: Template-driven e Reactive Forms.
🎭 As Duas Abordagens
| Característica | Template-driven | Reactive Forms |
|---|---|---|
| Configuração | No HTML (Directivas) | No TypeScript (Código) |
| Escalabilidade | Indicado para formulários simples | Indicado para formulários complexos |
| Validação | No HTML | Programática |
| Previsibilidade | Menor (Assíncrono) | Maior (Síncrono/Imutável) |
1. Template-driven Forms
Usa o ngModel para criar o modelo de dados automaticamente a partir do HTML.
2. Reactive Forms
Você cria e gerencia o estado do formulário explicitamente no TypeScript. Oferece muito mais controle.
No TypeScript (.ts):
No HTML (.html):
✅ Validações e feedback
O Angular permite verificar o estado de cada campo (dirty, touched, valid, invalid).
🌟 Ciclo do Formulário
graph LR
A[Usuário Digita] --> B[Estado do Control Muda]
B --> C{Válido?}
C -- Sim --> D[Botão Ativado]
C -- Não --> E[Exibe Erro]
D --> F[Submit: Dados para o Servidor]
🚀 Prática: Cadastro de Usuário
Vamos construir um formulário de cadastro com: 1. Campos: Nome, Email, Senha e Confirmação de Senha. 2. Validação de obrigatoriedade e máscara de email. 3. Desabilitar o botão de enviar até que tudo esteja correto.
🏁 Mini-Projeto da Aula
Crie um formulário de Feedback. O usuário deve avaliar o serviço de 1 a 5 (Dropdown) e escrever um comentário (Textarea). Use Reactive Forms e exiba uma mensagem de sucesso na tela após o "envio" dos dados.