Problema com Ajax, JSF2 e selectOneMenu

Fala Galera,

Estou tendo um problema parecido em um sistema que estou fazendo, estou aprendendo JSF 2 agora… tentei as soluções apresentadas Aqui mais sempre na hora de enviar o formulário aparece a mensagem:

id=input-cidade Erro de Validação: O valor não é válido

Estou pegando as informações de um XML que me retorna as cidades de acordo com o estado passado. Depois da chamada AJAX a lista é montada mas na hora de enviar o form ele dá o erro de validação

segue o código

Meu Form:

[code]<h:outputLabel value=“Estado: " for=“input-estado” />
<h:selectOneMenu id=“input-estado” required=“true” value=”#{consultoraComumMB.estado}" >
<f:selectItem itemLabel=“Escolha um Estado” itemValue="–" />
<f:selectItem itemLabel=“Rio de Janeiro” itemValue=“RJ” />
<f:selectItem itemLabel=“São Paulo” itemValue=“SP” />
<f:selectItem itemLabel=“Espírito Santo” itemValue=“ES” />
<f:selectItem itemLabel=“Minas Gerais” itemValue=“MG” />
<f:selectItem itemLabel=“Parana” itemValue=“PR” />
<f:selectItem itemLabel=“Santa Catarina” itemValue=“SC” />
<f:selectItem itemLabel=“Rio Grande do Sul” itemValue=“RS” />
<f:ajax event=“change” render=“input-cidade” listener="#{consultoraComumMB.atualizarCidades}" execute="@this" />
</h:selectOneMenu>

	<h:outputLabel value="Cidade: " for="input-cidade" />
    <h:selectOneMenu id="input-cidade" value="#{consultoraComumMB.endereco.cidade}" immediate="true">
        <f:selectItems value="#{consultoraComumMB.cidades}" var="cidade" itemValue="#{cidade.uf}" itemLabel="#{cidade.id}" />
    </h:selectOneMenu>

[/code]

MEU BEAN

public class ConsultoraComumMB {
	
	private Endereco endereco=new Endereco();
	private List<Cidade> cidades;
	private String estado;

public void atualizarCidades(){    
		  List<Cidade> list = obterCidades(getEstado());  
		  setCidades(list); 
	}
	
	private List<Cidade> obterCidades(String estado){
		CidadesAJAX cd=new CidadesAJAX();
				
		//Informa o estado e monta a lista de municipios
		List<Cidade> elements=cd.getCidades(getEstado());
		
		return elements; 
	}		

//getters e setters
}

minha classe cidade

[code]public class Cidade {
private String id;
private String uf;
public String getId() {
return id;
}
public String getUf() {
return uf;
}
public void setId(String id) {
this.id = id;
}
public void setUf(String uf) {
this.uf = uf;
}
@Override
public int hashCode() {
// TODO Auto-generated method stub
return super.hashCode();
}
@Override
public boolean equals(Object obj) {
// TODO Auto-generated method stub
return super.equals(obj);
}

}[/code]

Troque o símbolo ‘-’ pra ‘_’ no id.

troquei o id e não funcionou!

Li neste blog http://www.rponte.com.br/2008/02/01/selectonemenu-converter-erro-de-validacao/ sobre este meu erro… fiz o converter mas o erro continua acredito que o problema seja pq preciso alterar o estado do componente também no servidor. mas como eu faço esse reRender do componente? não estou conseguindo e não estou achando nada pra me ajudar…