2
respostas

[Bug] [BUG] Validação de 'minLenght' não desaparece

Minha validação de 'minLenght' não desaparece no campo 'Autoria', mesmo após preencher o requisito Insira aqui a descrição dessa imagem para ajudar na acessibilidadeMeu código está igual o da aula

<label for="autoria">Autoria ou fonte</label>
    <input
      type="text"
      class="input"
      formControlName="autoria"
      id="autoria"
      placeholder="Digite a autoria ou fonte"
    />
    <div
      class="mensagem__erro"
      *ngIf="
        formularioEditar.get('autoria')?.errors['required'] &&
        formularioEditar.get('autoria').touched
      "
    >
      Autoria é obrigatória
    </div>
    <div
      class="mensagem__erro"
      *ngIf="
        formularioEditar.get('autoria')?.errors['minlength'] &&
        formularioEditar.get('autoria').touched
      "
    >
      Autoria precisa ter no mínimo três caracteres!
    </div>
2 respostas

Oi Leonardo, tudo bem?

Acredito que o que esteja causando esse bug seja a sintaxe de errors. Observe que na aula a instrutora adiciona ?. entre errors e a especificação do erro ['minlength'] e em seu código você aplicou errors['minlength'] diretamente. Também percebi que na validação de touched você acabou não adicionando o operador ?(Elvis) . A função do operador Elvis é avaliar a expressão objeto?.propriedade de forma segura, evitando erros caso objeto seja nulo ou indefinido. Se objeto for nulo ou indefinido, a expressão inteira será avaliada como nula e não causará um erro de "objeto indefinido" ou "propriedade indefinida". Em vez disso, o valor exibido será vazio. Por isso é importante não deixar de adicionar esse operador.

Com essas alterações, o código deve ficar assim:

<div 
    class="mensagem__erro"
    *ngIf="
        formularioEditar.get('autoria')?.errors?.['minlength'] &&
        formularioEditar.get('autoria')?.touched
">

Espero que essas sugestões possam ajudar a resolver o problema de validação de 'minLength' em seu código. Caso o bug persista ou você tenha outras dúvidas, me coloco à disposição para te ajudar!

Um abraço e bons estudos!

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

Talvez seja a versão do Angular, estou usando a 10.0.5, quando faço essas alterações dá "Failed to compile." Insira aqui a descrição dessa imagem para ajudar na acessibilidade