Validador de Campos

3 respostas
Ace

Boa Tarde Pessoal.

Fiz uma simples aplicação web com os campos: Nome; E-mail; Endereço
Tenho minha classe de ContatoForm com o codigo java e a regra de validação

public ActionErrors validate(ActionMapping mapping, ServletRequest request) {

		ActionErrors erros = new ActionErrors();
		
		//verifica nome
		if (contato.getNome() == null || contato.getNome().equals("")){
			erros.add("nome", new ActionMessage("erro.campoNome"));		
	}

e meu arquivo MessageResources

erro.campoNome = Preencha o Campo Nome Corretamente

porem ao fazer o teste e deixar de escrever o nome ele aceita normalmrnte e insere no banco " ", sem bloquear e mandar a mensagem.
alguem poderia me dar uma força?

abras pessoal

3 Respostas

peczenyj

Ola

Não vi o resto do seu codigo todo mas… vc tem certeza algo entra nesse if? Vc tem algum log ou debug com um breakpoint nesse lugar? Alias se eu informar um usuario vazio, um usuario com um espaço, com 2 espaços, com tab, etc, vc vai validar como?

Seria bom vc mostrar o resto do codigo, por exemplo vc faz um saveErrors ?como vc faz o forward?

Uma sugestão, ao inves de

erros.add("nome",...);

use

erros.add(ActionErrors.GLOBAL_ERROR,...);

A menos que vc tenha mapeado nos <html:errors /> é claro.

Abdon

putz struts 1 :frowning: que “deus” o tenha, pena que eu ainda lembro.

Vc colocou validate=“true” no struts-config.xml

Ace

Meu struts-config.xml

<action path="/novoContato" name="ContatoForm" input="/novo.jsp"
			type="MeuDiretorio">
			
			<forward name="ok" path="/listaContatos.do" />		
		
		</action>

Contato Form

public ActionErrors validate(ActionMapping mapping, ServletRequest request) {

		ActionErrors erros = new ActionErrors();
		
		//verifica nome
		if (contato.getNome() == null || contato.getNome().equals("")){
			erros.add("nome", new ActionMessage("erro.campoNome"));		
	}
Criado 7 de janeiro de 2010
Ultima resposta 7 de jan. de 2010
Respostas 3
Participantes 3