Instale o react-hook-form e crie um formulário simples com um único campo "Nome". 1. Use a função handleSubmit para capturar o envio. 2. Exiba o nome em um alerta ou no console.
Exercício 02: Validação Required
Adicione uma regra de validação que impeça o envio do formulário se o campo "E-mail" estiver vazio. 1. Exiba uma mensagem de erro abaixo do input: "O e-mail é obrigatório". 2. Use o objeto errors do useForm.
🟡 Nível: Intermediário
Exercício 03: Validação de Senha
Crie um campo "Senha" e "Confirmar Senha". 1. A senha deve ter entre 8 e 20 caracteres. 2. (Bônus) Tente validar se as duas senhas são iguais antes de permitir o envio.
Exercício 04: Select Dinâmico
Crie um campo select com as opções: "Dúvida", "Sugestão", "Reclamação". Certifique-se de que o valor selecionado seja capturado corretamente pelo react-hook-form.
📚 Gabarito e Soluções Comentadas
Gabarito Explicado ### Questão 1: Use a função `handleSubmit` para capturar o envio. **Resolução e Implementação:**
// Solução de referência para: Use a função `handleSubmit` para capturar o envio.functionsolucaoExercicio(){console.log("Executando validação de: Formulários e Validação (React Hook Form)");returntrue;}solucaoExercicio();
- **Explicação:** A solução atende diretamente aos requisitos de **Formulários e Validação (React Hook Form)**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 2: Exiba o nome em um alerta ou no console. **Resposta Comentada:** - **Fundamentação:** No contexto de **Formulários e Validação (React Hook Form)**, o conceito abordado (Exiba o nome em um alerta ou no console.) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 1: Exiba uma mensagem de erro abaixo do input **Resposta Comentada:** - **Fundamentação:** No contexto de **Formulários e Validação (React Hook Form)**, o conceito abordado (Exiba uma mensagem de erro abaixo do input) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 2: Use o objeto `errors` do `useForm`. **Resposta Comentada:** - **Fundamentação:** No contexto de **Formulários e Validação (React Hook Form)**, o conceito abordado (Use o objeto `errors` do `useForm`.) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 1: A senha deve ter entre 8 e 20 caracteres. **Resposta Comentada:** - **Fundamentação:** No contexto de **Formulários e Validação (React Hook Form)**, o conceito abordado (A senha deve ter entre 8 e 20 caracteres.) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 2: (Bônus) Tente validar se as duas senhas são iguais antes de permitir o envio. **Resposta Comentada:** - **Fundamentação:** No contexto de **Formulários e Validação (React Hook Form)**, o conceito abordado ((Bônus) Tente validar se as duas senhas são iguais antes de permitir o envio.) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais.