Questão de TI - Desenvolvimento de Sistemas — AngularJS — FCC 2026
- Código
- fc142332
- Banca
- FCC
- Órgão
- ARTESP
- Ano
- 2026
- Cargo
- Esp RT ( )
Uma empresa de transporte rodoviário interestadual está desenvolvendo em Angular um formulário complexo para emissão de bilhetes e despacho de cargas, que deve permitir adicionar e remover dinamicamente trechos de viagem, alterar regras de validação conforme o tipo de carga, integrar-se com serviços de backend que fornecem o modelo da viagem e aplicar validações síncronas e assíncronas. A solução atual, baseada em template-driven forms com ngModel, tornou o HTML difícil de manter, com validações espalhadas pelo template.
Nesse cenário, a abordagem mais adequada é
- Aenvolver o formulário em um componente pai com ChangeDetectionStrategy.OnPush, contando que isso substitua a necessidade de um modelo de formulário estruturado e simplifique as validações.
- Bremover as regras de validação do frontend e delegar toda validação ao backend, retornando mensagens de erro via HTTP apenas após o envio dos dados.
- Cmanter o formulário como template-driven, mas concentrar todas as validações em atributos HTML nativos (required, pattern), evitando qualquer lógica de validação em TypeScript.
- Dabandonar os módulos de formulários do Angular e manipular diretamente o DOM com document.getElementById, usando event listeners nativos para tratar todas as validações.
- Emigrar o formulário para Reactive Forms, definindo o modelo com FormGroup, FormControl e FormArray no componente, usando valueChanges e validadores síncronos e assíncronos, mantendo a lógica de validação e a estrutura do formulário em TypeScript.