Problemas ao exibir ConfirmDialog

4 respostas
R

Olá Galera,

Estou usando JSF 2.0 e PrimeFaces 3.0, estou com um pequeno problema, estou fazendo uma verificação de CPF com onBlur, ele faz uma chamada ManagedBean assim que ele retorna informando se o CPF é cadastrado eu teria que exibir na tela automaticamente esse ConfirmDialog para o usuário. como resolver isso? Help
Att,

4 Respostas

Hebert_Coelho

Robson, bom dia. Bem vindo ao guj.

Você faz isso por ajax: JSF Exemplos Simples com Ajax.

E

Robson,

Como vc está tentando fazer?

R

Estou tentando fazer com que ele retorne do ManagedBean pelo update do AJAX , ele chama-se a função confirmation.show(). Porem eu percebi que a chamada da função é por onClick e nisso não iria me atender pois assim que eu busco o CPF eu já teria que exibir na tela “CPF JÁ CADASTRADO!!! DESEJA ASSOCIAR O USUARIO”. com a opção sim ou não.

R

Segue o meu codigo:

<h:panelGrid columns=3 columnClasses=labelPanelGrid, contentPanelgrid rowClasses="">

<h:outputLabel value="#{msgs[‘label.cpf’]}" for=cpf />

<p:inputMask mask=[CPF removido] id=cpf required=true requiredMessage="#{msgs[‘campo.obrigatorio’]}"

value="#{usuarioBean.usuario.cpf}" tabindex=2 onkeyup=up(this)>			

<f:converter converterId=br.com.montreal.cpfconverter/>

<f:validator validatorId=br.com.montreal.cpfvalidator/>

<p:ajax event=blur listener="#{usuarioBean.verificarCPF}" update=cpf, mensagemcpf, confirmDialog />

</p:inputMask>

<p:message for=cpf id=mensagemcpf/>

</h:panelGrid>

<p:confirmDialog id=“confirmDialog” message=“CPF já existente!! Desseja associar ele?” rendered="#{usuarioBean.teste eq 1}"
header=“Initiating destroy process” appendToBody=“true” severity=“alert” widgetVar=“confirmation” >

<p:commandButton id="confirm" value="Sim" update="messages" oncomplete="confirmation.hide()"  
                actionListener="#{buttonBean.destroyWorld}" />  
    <p:commandButton id="decline" value="Não" onclick="confirmation.hide()" type="button" />

public boolean verificarCPF(){

try {
		boolean carregar = true;
		
		carregar = 	iusuarioEjb.buscarPorCpf(usuario.getCpf());
		
		if(carregar == false){
			FacesContext.getCurrentInstance().addMessage("cpf", new FacesMessage(FacesMessage.SEVERITY_WARN, "O CPF Já esta Cadastrado!", null));
		    this.setTeste(1);
		    this.setMostrarDialog(true);
		 return false;
		}
	} catch (DaoExcecao e) {
		FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_FATAL, 
				"Ocorreu um problema em nossa base de dados. Entre em contato com o administrador.", null);
		FacesContext.getCurrentInstance().addMessage(null, message);
	}
	
	return true;
	
}

Tentei fazer esta chamada com Jquery mais não funcionou tambem:

$(document).ready(function(){

$abrirPopup = #{usuarioBean.mostrarDialog}

if ($abrirPopup){

$("#confirmDialog").show();
}  
      }
Criado 8 de novembro de 2012
Ultima resposta 8 de nov. de 2012
Respostas 4
Participantes 3