Validação em JSP?

[color=“darkblue”] Tenho uma pequena aplicação feita em Struts, geralemnte 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]

Você poderá criar uma função javascript que é chamada através de um evento no campo.

Exemplo:


<input type="text" name="email" id="email" onchange="javascript:validarEmail(this);" />

Função:

[code]

function validarEmail(objeto) {

/* Aqui você coloca a lógica de validação, na internet tem bastante exemplos de como fazer */

}[/code]

Galera, aproveitando…

existe alguma forma de validação mais eficiente que javascript?
porque eu consigo fazer toda a verificação (e sempre uso assim) no próprio jsp, sem recarregar página, sem passar parâmetros, sem mandar pra outros lugares…
masss, quando o form é grande e não são todos os campos que são obrigatórios phode tudo… toca fazer if por if para cada campo.

Alguma sugestão de como resolver isso?
eu estou acostumado a usar frases específicas como “Por favor, digite o nome” sabe?

isso tem que ser levado em consideração também…

abrasss

O certo é fazer a validação no lado do cliente (javascript) e servidor.

[color=“darkblue”]Eu geralmente fazia no próprio Struts[/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]

Correto, essa validação é do lado servidor.

Ja que você esta utilizando Struts porque você não utiliza o Validate.xml do proprio Struts? :?:

[color=“darkblue”]Nunca usei o validate.xml, poderia me explicar o seu funcionamento ?[/color]