Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Dúvida sobre os espaços em brancos na validação

As validações que temos até esta aula não estão 100% pois podemos passar espaços em brancos antes de um caractere que eles serão levados em consideração pelo validator "minLength", ou seja, se usarmos 2 ou mais espaços em branco e apenas 1 caractere, será aceito pois o lenght da string será 3. Para corrigir isto pensei em utilizar o "trim()" porém eu não sei onde poderia coloca-lo ou se é possível usa-lo. Como evitar este problema?

2 respostas
solução!

Olá, Jorge!

Bem observado, meus parabéns, pela percepção e por compartilhar ela conosco, muito bem!

Nesse caso, para contornarmos essa situação, podemos adicionar o trim() a seguinte validação, dentro da criarPensamento():

this.formulario.controls['autoria'].setValue(this.formulario.controls['autoria'].value.trim());

Desta forma, quando apertamos o botão de "salvar", o erro volta a aparecer e impede a execução.

O criarPensamento fica assim:

criarPensamento() {
    // Limpar espaços em branco antes de validar o formulário
    this.formulario.controls['autoria'].setValue(this.formulario.controls['autoria'].value.trim());

    if(this.formulario.valid){
      this.service.criar(this.formulario.value).subscribe(() => {
        this.router.navigate(['/listarPensamento'])
      })
    }
  }

Espero ter ajudado e reforço que em casos de dúvidas, conte sempre com o fórum da comunidade Alura! Bons estudos!

Sucesso

Um grande abraço e até mais!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Muito obrigado Victor, funcionou.