Validação de dados no Struts

1 resposta
M

Ola

Estou aprendendo a trabalhar com o Struts, e estou com um problema na validação do ActionForm.

eu tenho o método validate no meu formBean assim (apenas para teste)

public ActionErrors validate(
		ActionMapping mapping,
		HttpServletRequest request) {
		ActionErrors errors = new ActionErrors();
		if (login.equals("")) {
			errors.add("login",new ActionError("Login em Branco"));
		}
		return errors;
	}

no meu arquivo .jsp, eu tenho a tela montada assim

<html:form action="/login">
			login : <html:text property="login"/><html:errors property="login"/></br>
			senha : <html:password property="senha"/><html:errors property="senha"/></br>
			<html:submit/><html:cancel/>
		</html:form>

Quando eu dou o Submit, se o campo estiver em Branco, ele não da um forward para a proxima página, isso está correto, mas o problema é que não mostra a mensagem de ERRO na tela.

o que será que estou errando?

1 Resposta

martui

:scrambleup: Bom, eu uso assim:

:arrow: Form:
public ActionErrors validate(
		ActionMapping mapping,
		HttpServletRequest request) {

		ActionErrors errors = new ActionErrors();
		
		if ( getNome() == null || getNome().length() < 1 ) {
            errors.add("nome",new ActionError("cadastro.error.validate.nome"));
        }
		
        return errors;
	}
sendo que cadastro.error.validate.nome é uma entrada com a descrição do erro mapeada no arquivo ApplicationResources do Struts :arrow: jsp:
<logic:messagesPresent>
   <c:out value="Erros:" /><BR>
   <html:messages id="error" >
      <c:out value="${error}" />
   </html:messages>
</logic:messagesPresent>
Criado 8 de setembro de 2004
Ultima resposta 8 de set. de 2004
Respostas 1
Participantes 2