[color=darkblue] Tenho uma pequena aplicação feita em Struts, geralmente faço as validações na classe public ActionErrors validate.
Gostaria de saber como faço validações de nome e e-mail no próprio JSP, o qual estou usando as tags do Struts.
Como faço as validações em Java Script ? se o e-mail digitado é um e-mail válido e coisas do gênero ?
Desde já agradeço ![/color]
olá amigo, vc teve alguma solução apra o seu problema? estou tentando fazer validação tambem, mas não estou obtendo exito! vc conseguio?
[color=darkblue] Eu utilizo no próprio Struts, na classe que extends ActionForm, no JSP eu não imagino como se faz:[/color]
@Override
public void reset(ActionMapping map, HttpServletRequest request) {
this.comentario = new Comentario();
// TODO Auto-generated method stub
}
@Override
public ActionErrors validate(ActionMapping map, HttpServletRequest request) {
ActionErrors erro = new ActionErrors();
if(comentario.getNome().length() < 3
|| comentario.getNome() == null){
erro.add("nome", new ActionMessage("erro.camponome"));
}
if(comentario.getEmail().equalsIgnoreCase("")
|| comentario.getEmail() == null){
erro.add("nome", new ActionMessage("erro.camponome"));
}
// TODO Auto-generated method stub
return erro;
}
[color=darkblue]erro.camponome é um arquivo.properties [/color]
Tenho um exemplo:
function validaEmail(email){
if (email.length != 0 ){
var expressao = /^[a-z]+[a-z0-9_.-]+[a-z]+@+[a-z]+[a-z0-9_.-]+[a-z0-9]$/;
var email_val = expressao.test(email);
var inicio = email.search('@');
var fim = (email.length - inicio);
var trecho = email.substr(inicio,fim);
for ( i = 1; i <= email.length; i++ ) { ch = email.substr( i-1, 2 ); if (ch == "..") { email_val = false; break;} }
for ( i = 1; i <= trecho.length; i++ ) {ch = trecho.substr( i-1, 1 ); if (ch == ".") { email_val = true; break;} else {email_val = false;} }
if(!email_val){ return ; }
}else{
return;
}
}
[quote=Metaleiro][color=darkblue] Eu utilizo no próprio Struts, na classe que extends ActionForm, no JSP eu não imagino como se faz:[/color]
@Override
public void reset(ActionMapping map, HttpServletRequest request) {
this.comentario = new Comentario();
// TODO Auto-generated method stub
}
@Override
public ActionErrors validate(ActionMapping map, HttpServletRequest request) {
ActionErrors erro = new ActionErrors();
if(comentario.getNome().length() < 3
|| comentario.getNome() == null){
erro.add("nome", new ActionMessage("erro.camponome"));
}
if(comentario.getEmail().equalsIgnoreCase("")
|| comentario.getEmail() == null){
erro.add("nome", new ActionMessage("erro.camponome"));
}
// TODO Auto-generated method stub
return erro;
}
[color=darkblue]erro.camponome é um arquivo.properties [/color][/quote]
mas onde vc faz a definição dos erros? por exemplo, erro.camponome, como aparecerá a mensagem de erro?, onde??
[color=darkblue]
Um arquivo .propeties é um arquivo onde você tem uma chave e uma mensagem, exemplo
erro.camponome=O nome não pode ser nulo
esse arquivo tem que ser nomeado como MessageResources.properties, ele deve ser colocado na pasta SRC.
você define isso no struts-config.xml
é só usar uma tag :
Dai você pode utilizar todas as mensagens em seu aplicativo normalmente, isso é mais usado para internacionalização, aqueles sites que têm a opção de Inglês ou Português, assim você define todas as mensagens em um lugar só.
Como funciona a apresentação do erro, o erro aparece na própria página nesse caso, é posível você definir o posicionamento da mensagem na tela, nesse caso ela pode ser apresentada onde você definir.[/color]