Validação de EMAIL em Java Servlet

Fala ai galera estou com grande problema de logica em uma servlet que valida um formulario
e o seguinte tenho um formulario em servlet e gostaria de validar um campo e e email ja consegui validar em java script e tal mas mudei tudo e quero validar dentro do servlet e não sei como fazer sera alguem pode me uma força de codigo ou site o que tiver.
valeu galera

Vc pode procurar uma validação em expressao regular ou de jeito mais “nas coxa”

if(email.indexOf("@") != -1 && email.indexOf(".") != -1) //email válido;

Mas esse tipo de validação com indexOf é meio tosco, se o cara digitar “@.” o sistema vai aceitar neh. :roll:
Talvez expressoes regulares sejam a melhor maneira

e porque eu tipo queria uma ideia e tipo pecorrer os caracteres e verificar se tem o @ ou não para validar tipo um javascript

Mas quando vc faz if(email.indexOf("@") != -1) ele te retorna -1 se nao tiver. Se tiver ele mostra qual é a posição.
É exatamente como o JS faz. Ele percorre caracter por caracter até encontrar(ou nao) a string. 8)

Mas quando vc faz if(email.indexOf("@") != -1) ele te retorna -1 se nao tiver. Se tiver ele mostra qual é a posição.
É exatamente como o JS faz. Ele percorre caracter por caracter até encontrar(ou nao) a string. 8) [/quote]
Vc poderia colocar algo do tipo:

if(email.indexOf("@") > 0 && email.indexOf(".") > -1 && email.indexOf("@.") == -1) // afinal nenhum email é @site.com.br e nem @.com.br certo ^^

import java.util.regex.*; ... Pattern p = Pattern.compile("^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$"); Matcher m = p.matcher("email@email.com"); if (!m.find()) System.err.println("Beeehhh!E-mail inválido"); ...

Ou quase isso.

[quote=kina] if(email.indexOf("@") > 0 && email.indexOf(".") > -1 && email.indexOf("@.") == -1) // afinal nenhum email é @site.com.br e nem @.com.br certo ^^ [/quote]

Tentei em minha página JSP mas mostrou excessão na página.

Faça validações redundantes: no formulario use JQuery ou outra coisa para validar a expressão regular de email e na servlet faça a mesma coisa. Sem falar que é uma maneira elegante!

Sim, compreendo, só que eu precisaria de apenas um teste if em JSP e não estou conseguindo.

O problema do JQuery é que basta desativar o javascript do navegador e tudo acaba.

Aff, não sei porque vocês insistem em querer validar assim.

Também prefro validar pela programação JAVA mesmo, só q como o dark123, eu também não consigo validar e-mail em JSP e muito menos enviá-los para um servidor que não permite configuração SMTP.

  • Edit: Corrigindo: tem uma maneira em que os botões de submit dos formulários no ajax são apenas imagens, assim, se desativarem o javascript não vai enviar, podendo clicar quantas vezes quiser no botão de submit.

Essa maneira eu não consegui entender aidna pra fazer depois.

Até.

Retiro o que eu disse :stuck_out_tongue_winking_eye:

Andei dando um olhada no estilo de validação do site da SUN e percebi que era justo o que eu precisava :stuck_out_tongue_winking_eye:

Bom, então acho que dá pra validar com ajax ou javascript mesmo e criar submits em ajax tb, daí se o usuário desabilitar o javascript do navegador, o formulário não será enviado hehe.

Só que ae se o visitante salvar a página em seu computador e tentar enviar de seu pc, passará tranquilamente pelas validaçoes, pois o javascript estará desabilitado.

Resolvido!

vlw Dalton

http://www.javafree.org/topic-853275-Validacao-de-email.html&page=1#168726

Obrigado pessoal, mas era disso que eu estava falando e acredito q o @dark123 tb

flw ae a todos.

Falando em JQuery, eu fiz em ajax manualmente mesmo. Aquele enviado por XMLHTTP ou seja, makeRequest(…), só que tem um problema que não consigo resolver lá no AJAX.
Se puder me ajudar, ficarei grato à você.

Tópico: http://www.guj.com.br/posts/list/0/132280.java#712049

att.

[quote=cebolah]Resolvido!

vlw Dalton

http://www.javafree.org/topic-853275-Validacao-de-email.html&page=1#168726

Obrigado pessoal, mas era disso que eu estava falando e acredito q o @dark123 tb

flw ae a todos.[/quote]

Digite o endereço de e-mail 'xxx@xxx.com.br, sem esquecer o apóstrofe e você verá que aquela expressão regular aceitará o endereço o que está errado.

Por tentativa e erro cheguei a isto:

private static final String EMAIL_REGEX = "^([^\._0-9\"']{1}[a-z0-9\.-_]{0,}[^\._0-9\"']{1}[@][^\.][a-z0-9\.-_]{0,}(\.)[a-z0-9\.-_]{0,}[^\._'\"-])$";

Se vocês identificarem alguma falha, por favor me avisem.