Pular para conteúdo

Quiz: Aula 10 ❓

Teste seus conhecimentos sobre o sistema de formulários do Angular.

  1. Qual módulo deve ser importado para usar Reactive Forms?

    • ( ) FormsModule
    • (x) ReactiveFormsModule
    • ( ) HttpClientModule
    • ( ) CommonModule
    • Explicação: ReactiveFormsModule fornece as ferramentas para o modelo reativo (FormControl, FormGroup).
  2. Qual propriedade do HTML vincula um input a um controle no Reactive Forms?

    • ( ) name
    • ( ) [(ngModel)]
    • (x) formControlName
    • ( ) id
    • Explicação: formControlName faz a ponte entre a tag HTML e o objeto criado no TypeScript.
  3. O que o estado touched de um campo significa?

    • ( ) O usuário passou o mouse por cima
    • (x) O usuário entrou e saiu do campo (foco perdido)
    • ( ) O valor do campo foi alterado
    • ( ) O campo foi deletado
    • Explicação: touched indica que o usuário já interagiu com aquele campo.
  4. Como definimos múltiplos validadores para um único campo no Reactive Forms?

    • ( ) Separando por ponto e vírgula
    • ( ) Não é possível, apenas um é permitido
    • (x) Passando um array de validadores no segundo argumento do FormControl
    • ( ) Usando o comando ngAddValidator
    • Explicação: Ex: new FormControl('', [Validators.required, Validators.email]).
  5. Qual abordagem é a mais recomendada para formulários grandes e complexos?

    • ( ) Template-driven
    • (x) Reactive Forms
    • ( ) HTML puro
    • ( ) PHP
    • Explicação: Reactive Forms oferecem mais controle, facilidade de teste e robustez.
  6. O que faz o validador Validators.pattern?

    • ( ) Muda a cor do fundo
    • (x) Valida o campo contra uma Expressão Regular (Regex)
    • ( ) Cria um padrão de repetição
    • ( ) Deleta o valor
    • Explicação: Útil para validar senhas, CPFs ou formatos específicos.
  7. Como acessar o valor total de um formulário reativo?

    • ( ) this.meuForm.getValue()
    • (x) this.meuForm.value
    • ( ) document.getElementById('form').value
    • ( ) ngValue
    • Explicação: A propriedade .value retorna um objeto JSON com todos os pares chave/valor do form.
  8. O que acontece se o formulário estiver com status: INVALID?

    • ( ) O site trava
    • ( ) O Angular limpa os campos automaticamente
    • (x) A propriedade meuForm.invalid será verdadeira, permitindo desabilitar botões
    • ( ) O usuário recebe um alerta sonoro
    • Explicação: O status permite controlar a interface e impedir envios incorretos.
  9. O FormBuilder serve para:

    • ( ) Criar o design do formulário (CSS)
    • (x) Uma forma sintática mais curta de criar Group e Controls (Syntactic Sugar)
    • ( ) Fazer o build da aplicação
    • ( ) Enviar os dados via POST
    • Explicação: O serviço FormBuilder simplifica a escrita de formulários complexos.
  10. Posso criar validadores personalizados?

    • (x) Sim, criando funções que retornam erros caso a condição não seja aceita
    • ( ) Não, apenas os nativos do Angular funcionam
    • ( ) Sim, mas apenas no modo de produção
    • ( ) Apenas se o formulário for Template-driven
    • Explicação: O Angular é altamente extensível na criação de regras de validação.