Erro AutoComplete

7 respostas
L

Olá, sou iniciante em programação java e estou com um problema em meu programa, alguém poderia me ajudar ?

Ex: Vou cadastrar um cliente com varias informações algumas são necessarias outra não, as que são necessarias se você não colocar da erro de validação, ae você tem q ir la e apertar com o mouse uma ou duas vezes na onde aparece a informação do auto complete e clicar novamente em cadastrar, caso contrario ele da o erro varias vezes, mas não aparece nenhum erro no console.

Alguem sabe o que pode ser ? Caso tiver com duvida só falar, não sei se fui bem claro.

7 Respostas

thimor

voce setou a propriedade required=true? caso tenha setado nao a use. Outra solucao seria inicializar todos os campos dos autocompletes com os valores padrao no metodo @PostConstruct para que ele nao dê nullpointerexception caso seja esse erro que aparece para voce.

@PostConstruct
public void init() {
    Produto p = new Produto();
    p.setObjeto1(new Objeto());
    p.setObjeto2(new Objeto2());
    //Caso o autocomplete seja string
    p.setCampo1("");
}

onde esses objetos seriam os valores que voce setaria com os autocompletes. Lembrando que isso resolve se o problema do erro do autocomplete seja nullpointerexption, caso seja problema de valor obrigatorio, remova o atributo required=“true” do autocomplete

L
<h:outputText value="Conta Receita:" />
						<p:autoComplete value="#{clienteController.cliente.contaReceita}"
							dropdown="true" label="Conta Receita" required="true"
							scrollHeight="250"
							completeMethod="#{contaContabilController.completeContasContabeisReceita}"
							var="c" itemLabel="#{c.descricao}" itemValue="#{c}"
							converter="entityConverter" forceSelection="true" />
L

Esse é o erro que aparece:

Conta Receita: Erro de validação: o valor é necessário.

e mesmo assim eu colocando o valor ele aparece esse erro, ae você tem que ir la e clicar denovo na informação que sai do autocomplete e tentar cadastrar para dar certo…

thimor

repare no required=“true” e no forceSelection=“true” no seu autocomplete. remova que você resolve seu problema

L

Não deu certo não, ele da outro erro não aparece mais o erro de validação:

Erro no Programa:
org.springframework.dao.DataIntegrityViolationException: could not insert: [br.com.rfsolutionit.business.model.Cliente]; SQL [insert into cliente (contacontabil_fk, pessoa_fk) values (?, ?)]; constraint [null]; nested exception is org.hibernate.exception.ConstraintViolationException: could not insert: [br.com.rfsolutionit.busi…

Erro do console:

ADVERTÊNCIA: org.springframework.dao.DataIntegrityViolationException: could not insert: [br.com.rfsolutionit.business.model.Cliente];SQL [insert into cliente (contacontabil_fk, pessoa_fk) values (?, ?)]; constraint [null]; nested exception is org.hibernate.exception.ConstraintViolationException: could not insert: [br.com.rfsolutionit.business.model.Cliente]
thimor

esse erro ai é porque no seu mapeamento esse campo é obrigatorio. se o mapeamento do campo no banco de dados é obrigatorio, ou seja, esta marcado como notnull voce obrigatoriamente precisa selecionar em tela. Ou criar um padrao caso nao tenha em tela na classe que trata o negocio.

verifique no mapeamento das classes de entidade o @NotNull e dentro do relacionamento dos objetos nullable=true

L

Ta eu me enganei deu certo sim, só remover os dois negocio la que você pediu, mais eu queria mesmo saber pq quando eu deixo em branco ele não aparace mais o erro: Conta Receita: Erro de validação: o valor é necessário.

E sim aparece o erro da ultima resposta q eu te mandei, os campos deve ser obrigatório.

Criado 16 de dezembro de 2015
Ultima resposta 17 de dez. de 2015
Respostas 7
Participantes 2