Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Dúvida sobre a validação

Essa validação do campo data de nascimento não poderia ser feita também pelo typescript do próprio cadastro e chamar uma função dentro do input de data nascimento ?

1 resposta
solução!

Oi Felipe, tudo bem?

Pedimos desculpas pela demora em obter um retorno.

Você está certo, a validação do campo de data de nascimento também poderia ser feita diretamente no TypeScript do componente, sem a necessidade de criar uma diretiva personalizada. Uma implementação alternativa poderia ser a seguinte:

import { Component } from '@angular/core';

@Component({
  selector: 'app-my-component',
  templateUrl: './my-component.component.html',
  styleUrls: ['./my-component.component.css']
})
export class MyComponentComponent {
  dataNascimento: Date;

  validateDataNascimento(): boolean {
    if (!this.dataNascimento) {
      return false;
    }

    const anoNascimento = this.dataNascimento.getFullYear();
    const anoAtual = new Date().getFullYear();
    const anoNascMais18 = anoNascimento + 18;

    return anoNascMais18 <= anoAtual;
  }
}

E no template HTML:

<input type="date" [(ngModel)]="dataNascimento" (change)="validateDataNascimento()" required>

Dessa forma, você mantém a lógica no TypeScript, deixando o HTML mais limpo. Porém, a abordagem com diretivas personalizadas, como mostrado na aula, permite reutilizar a validação em outros formulários de maneira mais modular.

Espero ter ajudado, conte com o apoio do fórum :)

Um abraço e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓