Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
10
respostas

Validação para nomes acentuados

Para caracteres acentuados, temos algum comando que faz isso automaticamente? Ou é necessário inserir as vogais com o acento no pattern?

10 respostas

Olá Flávio!

Com o atributo pattern conseguimos definir qual valor é aceitável ou não pelo campo do formulário. Um exemplo prático é o campo de e-mail que não aceita caracteres acentuados na sua composição. Para esta situação você pode utilizar o seguinte código:

<input type="email" required="required" class="input-text" name="email" pattern="[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$" />

Ele evita que o usuário digite caracteres não válido em um endereço de e-mail.

Para maiores detalhes sobre este atributo recomendo o link a seguir: https://tableless.com.br/validacao-de-formularios-com-html5/

Espero ter ajudado.

Ei, Júnior!

Muito lego o link. Tem várias coisas úteis. Mas, estava falando no caso de utilizar palavras acentuadas.

O que utilizamos nessa aula foi: pattern="[A-Za-z ']{4,}"

Dessa forma, se eu coloco o meu nome, por exemplo, o formulário não irá validar.

Flávio, quando você diz que o formulário não irá validar quando você escrever seu nome, você quer dizer que o formulário não irá corrigir a grafia com o acento na letra "a". É isso?

Na verdade ele não irá aceitar o "á".

Oi Flávio tente essa expressão regular, para permitir a acentuação :

[a-zA-Z\u00C0-\u00FF ]+@[a-z0-9.-]+\.[a-z]{2,4}$"

Oi Flávio Rios, caso persista alguma dúvida a respeito desse exercício ou curso pode perguntar aqui mesmo ou se você não tiver mais nenhuma dúvida a respeito você pode marcar uma resposta como solução, finalizando assim esse tópico.Espero ter ajudado. Bons estudos.

Ei, Maison! Testei a expressão que vc compartilhou e quando clico no botão enviar é como se não tivesse cumprindo a regra do input. Que é inserir ao menos 4 caracteres.

Ok mas funcionou a questão dos acentos? Testa assim para a questão dos 4 caracteres.Fico no aguardo. [a-zA-Z\u00C0-\u00FF ]+@[a-z0-9.-]+.[a-z]{4}

solução!

Não. Continuou com o mesmo erro.

Não está aceitando o acento, falando que não estava preenchendo a regra do número de caracteres e se eu coloco nome e sobrenome, automaticamente também me retorna o não de acordo com a regra.

Mas, encontrei outra expressão que resolveu. "[A-Za-zÀ-ú ']{4,}"

Ok Então Flávio se você não tiver mais nenhuma dúvida a respeito você pode marcar uma resposta como solução, finalizando assim esse tópico, caso persista alguma dúvida a respeito desse exercício pode perguntar aqui mesmo. Espero ter ajudado. Bons estudos.