Problema de validação de campos

2 respostas
J

Olá pessoa, td bem?

Então, estou com um probleminha meu chato.
Tenho uma com Estados que carrega outra Cidades.

<s:decorate id="telefoneField" template="/layout/edit.xhtml">
                <ui:define name="label">Telefone</ui:define>
                <h:inputText id="telefone"
                              value="#{usuario.pessoa.telefone}"/>
            </s:decorate>

            <s:decorate id="estadoField" template="/layout/edit.xhtml">
                <ui:define name="label">Estado</ui:define>
                <h:selectOneMenu id="estados"   
                                     value="#{cidadeEstadoManager.estado}" >  
                          
                        <s:selectItems value="#{cidadeEstadoManager.estados}"   
                                       var="estado"   
                                       label="#{estado.nome}"   
                                       noSelectionLabel="Selecione..."/>  
                          
                        <s:convertEntity />                                
                          
                        <a:support event="onchange" reRender="cidades" ajaxSingle="true" ignoreDupResponses="true"/>                                   
                 </h:selectOneMenu> 
            </s:decorate>
            
            <s:decorate id="cidadeField" template="/layout/edit.xhtml">
                <ui:define name="label">Cidade</ui:define>
                <h:selectOneMenu id="cidades"   
                                     value="#{usuario.pessoa.cidade}" >  
                          
                        <s:selectItems value="#{cidadeEstadoManager.cidades}"   
                                       var="cidade"   
                                       label="#{cidade.nome}"   
                                       noSelectionLabel="Selecione..."/>  
                          
                        <s:convertEntity />                                
                                                           
                    </h:selectOneMenu> 
            </s:decorate>
Ele carrega as cidades, td certinho, mas, quando eu vou salvar, dá o erro:
"Validation Error: Value is not valid"

Bom, pra tentar solucionar isto, sobrescrevi os métodos equals e hasCode do meu POJO.

@Override
	public boolean equals(Object obj) {
		if ( !( obj instanceof Cidade ) )
			return false;
		Cidade c = (Cidade) obj;
		if ( this.getId() == c.getId())
			return true;
		return false; 
	}
	
	@Override
	public String toString() {
		return String.valueOf(this.getId()); 
	}
	
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result
		+ ((estado.getId() == null) ? 0 : estado.getId().hashCode());
		return result;

//		return super.hashCode();
	}

Porém, o problema persiste.

Alguém sabe como resolver?

Obrigado a todos.

JCMASTER
Julio Cesar de Godoi
Estagiário Java
Graduando em Ciência da Computação
Cursando 8º Semestre

2 Respostas

alepenchel

Olá jcmaster.

Estou passando pelo mesmo problema.
Identico ao teu.

Você conseguiu resolver este problema.

Desde já agradecido.

Abraços.

bonissauro

Amigos,

tb tô enrolado com a mesma coisa.

Alguma luz?

Abraço a todos

Criado 23 de julho de 2009
Ultima resposta 22 de jan. de 2012
Respostas 2
Participantes 3