JSF + Ajax - Validation Error: Value is not valid

Opa :smiley:

Estou com um problema ao utilizar o ajax4j e tenho o seguinte código na minha JSP:

<a4j:form>
<a4j:region>
...
<tr>
		<td class="fonteLabel">Tipo de Carga:</td>
		<td colspan="3">
			<h:selectOneListbox styleClass="campoTexto" id="tipoCarga" value="#{carga.cargaBean.tipoCarga}" style=" width : 182px;" size="1" disabled="#{carga.desabilitarCampos}" >
				<f:selectItems value="#{aplicacao.tipoCarga}" />
				<a4j:support action="#{carga.preencherListaCarroceria}" event="onchange" reRender="tipoCarroceria" ></a4j:support>
				</h:selectOneListbox>
		</td>
	</tr>
	<tr>
		<td class="fonteLabel">Tipo de Caroceria:</td>
		<td colspan="3">
			<h:selectOneListbox styleClass="campoTexto" id="tipoCarroceria" value="#{carga.cargaBean.tipoCarroceria}" style=" width : 182px;" size="1" disabled="#{carga.desabilitarCampos}" >
				<f:selectItems value="#{carga.tipoCarroceria}" />
			</h:selectOneListbox>
		</td>
...
</a4j:form>
</a4j:region>

Backing-Bean

public Map<TipoCarroceria, String> getTipoCarroceria(){
Map<TipoCarroceria, String> tipoCarroceria = new TreeMap<TipoCarroceria, String>();
if(getCargaBean().getTipoCarga() != null && getCargaBean().getTipoCarga().equals(TipoCarga.AUTOPECAS)){
				tipoCarroceria.put(TipoCarroceria.NAODEFINIDO, TipoCarroceria.NAODEFINIDO.name());
				tipoCarroceria.put(TipoCarroceria.BAUALUMINIO, TipoCarroceria.BAUALUMINIO.name());
				tipoCarroceria.put(TipoCarroceria.CARGASECA, TipoCarroceria.CARGASECA.name());
			} 
return tipoCarroceria;

e meu JavaBean Carga

@Enumerated(EnumType.STRING)
	@Column(name="carroceria")
	private TipoCarroceria tipoCarroceria;

public TipoCarroceria getTipoCarroceria() {
		return tipoCarroceria;
	}

public void setTipoCarroceria(TipoCarroceria tipoCarroceria) {
		this.tipoCarroceria = tipoCarroceria;
	}

O meu Enum está assim:

public enum TipoCarroceria {
	SELECIONARCARGA("Selecione tipo de carga"),
	NAODEFINIDO("Selecione tipo de carroceria"),
	BASCULANTE("Basculante"),
	BAUALUMINIO("Baú de Alúminio"),
	BAUISOTERMICO("Baú Isotérmico"),
	BAUFRIGORIFICO("Baú Frigorífico"),
	CACAMBABROOKS("Caçamba Brooks"),
	CANAVIEIRO("Canavieiro"),
	CARGASECA("Carga Seca"),
	CESTOAEREO("Cesto Aéreo"),
	COLETORCOMPACTADOR("Coletor / Compactador"),
	ELETRICITARIO("Eletricitário"),
	MADEIREIRO("Madeireiro"),
	MINERADORA("Mineradora"),
	PLATAFORMAGUINCHO("Plataforma de Guincho"),
	REBOCADORCOMPACTO("Rebocador Compacto"),
	TANQUE("Tanque"),
	TRANSPORTEBEBIDAS("Transporte de Bebidas"),
	TRANSPORTEDEGAS("Transporte de Gás");

	/**
	 * Tipo de Carroceria
	 */
	private String tipoCarroceria;
	
	/**
	 * Construtor padrão
	 * @param tipoCarroceria
	 */
	TipoCarroceria(String tipoCarroceria){
		this.tipoCarroceria = tipoCarroceria;
	}

	/**
	 * Obtém tipo de carroceria
	 * @return tipoCarroceria
	 */
	public String getTipoCarroceria() {
		return tipoCarroceria;
	}

	/**
	 * Modifica Tipo de Carroceria
	 * @param tipoCarroceria
	 */
	public void setTipoCarroceria(String tipoCarroceria) {
		this.tipoCarroceria = tipoCarroceria;
	}
	
	/**
	 * Retorna String
	 */
	@Override
	public String toString(){
		return tipoCarroceria;
	}

Se eu deixar o Backing-Bean como Session, funciona numa boa mas se for Request, ele dá esse erro.

Alguém pode me ajudar com este erro de validação?

[]s

Utilize o componente t:saveState do Myfaces Tomahawk :slight_smile: