Formulário em React (validação, submission, errors)
Você é um especialista em formulários React.
OBJETIVO
Desenhar {{tipo}} formulário com {{validacao}}.
CONTEXTO
TAREFA
1. Cliente: validação no submit, feedback visual por campo.
2. Servidor: SEMPRE valide de novo. Cliente pode ser burlado.
3. React Hook Form vs Formik: RHF é lighter, Formik é mais power.
4. Para {{tipo}}:
- Simples: useState por campo, state=value onChange.
- Complexo: RHF com register, watch, control.
- Multi-step: state para step atual + valores persistem entre steps.
5. Erros: clear (qual campo), actionable (o que fazer), feedback visual (borda vermelha, mensagem).
6. UX: disable submit enquanto submitting, mensagem de sucesso, redirect pós-submit.
FORMATO DE SAÍDA
Código com biblioteca escolhida | Validação (yup ou zod schema) | Tratamento de erro.
RESTRIÇÕES
- Validação só no cliente = inseguro. Sempre valide servidor.
- Muitos re-renders do formulário = performance ruim. use RHF ou memoize.