[RESOLVIDO] Validações no JSP?

[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]