0
respostas

Dúvida no Ex. 4 da Aula 8 - Validando os campos

Minhas mensagens de validate não funcionam.

Minha classe ContatoForm

public class ContatoForm extends ActionForm{
    private Contato contato = new Contato();
    public Contato getContato(){
        return this.contato;
    }

    @Override
    public ActionErrors validate(ActionMapping mapping,HttpServletRequest request) {
        ActionErrors erros = new ActionErrors();
        if(contato.getNome()==null || contato.getNome().equals("")){
            erros.add("nome",new ActionMessage("erro.campoNome"));
        }
        if(contato.getEmail()==null || contato.getEmail().equals("")){
            erros.add("email",new ActionMessage("erro.campoEmail"));
        }
        if(contato.getEndereco()==null || contato.getEndereco().equals("")){
            erros.add("endereco",new ActionMessage("erro.campoEndereco"));
        }
        return erros;
        // TODO Auto-generated method stub

    }
}

Arquivo de internacionalização

menu.nome=Menu Principal
menu.arquivo=Arquivo
menu.editar=Editar
menu.sair=Sair
site.titulo=Sistema de teste do Struts
erro.CampoNome=O nome não pode ser nulo
erro.CampoEmail=E-mail não pode ser nulo
erro.CampoEndereco=Endereco não pode ser nulo
erros.header=<UL>
erros.footer=</UL>
erros.prefix=<LI>
erros.suffix=</LI>

JSP

<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>

<html:html>
    <html:errors/>
    <head>
        <title>Sistema de testes do Struts</title>
    </head>

    <html:errors/>

    <html:form action="/novoContato" focus="contato.nome">

            Nome:
                <html:text property="contato.nome" /></br>
            Email: 
                <html:text property="contato.email" /></br>

            Endereço:
                <html:text property="contato.endereco" /></br>

            <html:submit>Enviar Dados</html:submit>

    </html:form>
</html:html>

Struts-config

<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
          "http://struts.apache.org/dtds/struts-config_1_3.dtd">
<struts-config>

    <form-beans>
        <form-bean name="ContatoForm" type="br.com.caelum.struts.form.ContatoForm"></form-bean>
    </form-beans>
    <action-mappings>
        <action path="/teste" type="br.com.caelum.struts.action.TesteSimplesAction">
            <forward name="ok" path="/exemplo.jsp"></forward>
        </action>

        <action path="/listaContatos" type="br.com.caelum.struts.action.ContatoAction">
            <forward name="lista" path="/lista.jsp"></forward>
            <forward name="vazia" path="/lista-vazia.jsp" />
        </action>

        <action path="/novoContato" name="ContatoForm" type="br.com.caelum.struts.action.AdicionaContatoAction" input="/novo.jsp">
            <forward name="ok" path="/listaContatos.do" />
            <forward name="contatoSemNomeNaoCadastrado" path="/contatoSemNome.jsp"></forward>
        </action>
    </action-mappings>
    <message-resources parameter="MessageResources"></message-resources>
</struts-config>