Você já precisou fazer validações em formulários com Angular, correto?
Por padrão, quando vamos construir um form reativo, podemos passar algumas validações que o Angular já possui, como por exemplo, verificar se ele é obrigatório, se está preenchido, etc.
Mas você já precisou fazer uma verificação personalizada? Como por exemplo, verificar se a data inserida é válida?
Veja como é fácil fazer isso!
Primeiro, vamos criar um novo FormGroup e vamos criar o campo birthdate, sendo como obrigatório:
1 | this.formData = new FormGroup({ |
Agora queremos fazer a nossa validação customizada, para isso, vamos criar um método chamado validateDate:
1 | isValidDate(c: FormControl): ValidationErrors { |
Esse método recebe como parâmetro nosso campo, que no caso é a data.
Com a ajuda do moment
, verificamos se o valor informado está no formato correto e se é válido.
Caso não seja, retorna um objeto contendo erro, do contrário, retornará null
.
Agora vamos adicionar essa validação no nosso FormControl:
1 | this.formData = new FormGroup({ |
E agora, basta usarmos do jeito que quisermos no HTML, como por exemplo:
1 | <div class="form-group"> |
Fácil né?