Autocomplete do primefaces

Java

14/04/2014

Boa Tarde Pessoal!

Sou novo aqui no grupo e gostaria de tirar uma duvida.

Eu tenho um componente de auto complete do primefaces, fiz o método de autocomplete e tudo, só que na hora que eu faço a requisição para salvar no banco ele retorna a mensagem de campo obrigatório como se não tivesse pegando os valores que estão no campo de autocomplete. por favor se alguém tiver uma dica pra mim ajudar eu agradeço.

método de autocomplete

public List<DiagnosticoClinico> completaDiagnostico(String query) {
		try {
			this.listaDiagnosticoClinicos = DiagnosticoClinicoBO.getInstance()
					.list();
		} catch (SessaoNaoEncontradaParaEntidadeFornecidaException e) {
			e.printStackTrace();
		}
		List<DiagnosticoClinico> sugestoes = new ArrayList<DiagnosticoClinico>();
		for (DiagnosticoClinico d : this.listaDiagnosticoClinicos) {
			if (d.getDescricao().toUpperCase().startsWith(query.toUpperCase())) {
				sugestoes.add(d);
			}
		}
		return sugestoes;
	}



Campo de auto complete na pagina


<p:autoComplete id="completeDia" multiple="true"
	value="#{ficha1Bean.ficha1.diagnosticosClinico}"
	completeMethod="#{ficha1Bean.completaDiagnostico}"
	var="diagnostico" itemLabel="#{diagnostico.descricao}"
	required="true" requiredMessage="Campo Diagnóstico Clinico Obrigatorio"
	itemValue="#" converter="diagnosticoConverter"
	minQueryLength="4" maxResults="15" immediate="true"
	dropdown="true">
</p:autoComplete>



Classe de Converter


@FacesConverter(value = "diagnosticoConverter")
public class DiagnosticoClinicoConverter implements Converter {

	@Override
	public Object getAsObject(FacesContext arg0, UIComponent arg1, String string) {
		if (string == null || string.isEmpty())
			return null;
		return arg1.getAttributes().get(string);
	}

	@Override
	public String getAsString(FacesContext arg0, UIComponent arg1, Object object) {
		DiagnosticoClinico diag = (DiagnosticoClinico) object;
		if (diag == null || diag.getDescricao() == null)
			return null;
		arg1.getAttributes().put(String.valueOf(diag.getDescricao()), diag);
		return String.valueOf(diag.getDescricao());
	}




	
	

}

José Filho

José Filho

Curtidas 0
POSTAR