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

[Dúvida] Validação do nome repetido

Boa noite pessoal,

Estou acompanhando a aula 05. Validando amigo já adicionado, do Projeto Amigo Secreto, e fui testar a opção de adicionar o mesmo nome só que iniciando com letra maiúscula e com letra minúscula. E os mesmos foram inseridos no campo de "Amigos incluídos" como duas pessoas diferentes e sem mostrar o alert.

Como que eu poderia fazer a validação sobre nomes escritos com maiúscula e minúscula?

Estou anexando uma imagem onde testei o mencionado com os nomes "Ana" (iniciando com maiúsculo) e "ana" (iniciando com minúsculo).

Página do Projeto Amigo Secreto

1 resposta
solução!

Olá!

Para resolver o problema de adicionar nomes com diferenças apenas na capitalização, você pode converter todos os nomes para minúsculas antes de fazer a verificação e ao adicionar ao array. Assim, "Ana" e "ana" serão tratados como o mesmo nome. Aqui está como você pode ajustar o código:

function adicionar() {
    let amigo = document.getElementById('nome-amigo');
    let nomeAmigo = amigo.value.trim().toLowerCase(); // Converte para minúsculas e remove espaços em branco

    if (nomeAmigo === '') {
        alert('Informe o nome do amigo!');
        return;
    }
    
    if (amigos.includes(nomeAmigo)) {
        alert('Nome já adicionado!');
        return;
    }

    amigos.push(nomeAmigo); // Adiciona o nome ao array
}

Com essa modificação, a verificação includes e a adição ao array serão feitas sempre considerando os nomes em minúsculas, evitando duplicações por diferença de capitalização.

Espero ter ajudado e bons estudos!