Nesse cadastro eu seleciono através de um combo o número da proposta…
Caso eu não tenha a proposta cadastrada vai ter um botão que ao clicar ele abre um p:dialog… para informar apenas o nº da proposta e dentro do próprio p:dialog terá um botão salvar…
Só que ele verifica a validação dos campos da tela principal… e diz que existem campos obrigatórios…
Mas eu queria que esse botão do p:dialog validasse apenas o text dentro do p:dialog…
Coloquei um form dentro do p:dialog e coloquei um update e o nome do form..agora ela não valida nada e nem chama meu metodo na classe bean.. =´[[
Segue código..
<p:dialogheader="Cadastro rápido da proposta"widgetVar="dlg"resizable="false"modal="true"><p:panelid="dialog"><h:form><h:panelGridcolumns="2"><h:panelGroup><h:outputLabelvalue="Fornecedor: "for="fornecedorDialog"/></h:panelGroup><h:panelGroup><h:outputLabelvalue="Nº do Contrato "for="contratoDialog"/></h:panelGroup><h:panelGroup><p:selectOneMenuid="fornecedorDialog"required="true"requiredMessage="Fornecedor obrigatório"value="#{pedidoBean.empresa.empresa}"styleClass="combo"><f:selectItemitemValue=""itemLabel="Selecione..."/><f:selectItemsvalue="#{pedidoBean.fornecedores}"/><f:ajaxexecute="fornecedorDialog"render="contratoDialog"event="change"listener="#{pedidoBean.buscarContrato}"></f:ajax></p:selectOneMenu></h:panelGroup><h:panelGroup><p:inputTextid="contratoDialog"readonly="true"required="true"requiredMessage="Nº do contrato obrigatório"size="20"maxlength="20"value="#{pedidoBean.contrato.numero}"/></h:panelGroup></h:panelGrid><h:panelGridcolumns="1"style="margin-bottom:10px"><h:outputLabelfor="proposta"value=" Nº da Proposta:"/><p:inputTextid="proposta"required="true"requiredMessage="Nº da proposta obrigatório"size="30"maxlength="30"/></h:panelGrid><p:commandButtonvalue="Salvar"action="#{pedidoBean.salvarProposta}"update="dialog"/></h:form></p:panel></p:dialog>
quem puder me ajudar eu agradeco...
vlwww
B
build_successful
e ae Furlani…
posta seu codigo completo,
a tela principal junto com o dialog…
pode estar ocorrendo um conflito dos forms
F
Furlani
Segue página completa
<!DOCTYPEhtmlPUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="http://www.w3.org/1999/xhtml"xmlns:ui="http://java.sun.com/jsf/facelets"xmlns:h="http://java.sun.com/jsf/html"xmlns:f="http://java.sun.com/jsf/core"xmlns:p="http://primefaces.org/ui"><ui:compositiontemplate="/templates/interna.xhtml"><ui:definename="titulo">PedidosdeServiço</ui:define><ui:definename="corpo"><p:ajaxStatusonstart="statusDialog.show();"onsuccess="statusDialog.hide();"/><p:dialogmodal="true"widgetVar="statusDialog"header="Status"draggable="false"closable="false"><h:graphicImagestyle="align: center"library="imagens"name="loading.gif"/></p:dialog><h:formid="formPedido"><p:growlid="growl"showDetail="true"/><p:panelid="empresa"header="Informações do Fornecedor"><p:messagesid="msg"/><h:inputHiddenvalue="#{pedidoBean.pedidoServico.codigo}"/><h:inputHiddenvalue="#{pedidoBean.contrato.codigo}"/><h:panelGridcolumns="2"><h:panelGroup><h:outputLabelvalue="Fornecedor: "for="fornecedor"/></h:panelGroup><h:panelGroup><h:outputLabelvalue="Nº do Contrato "for="contrato"/></h:panelGroup><h:panelGroup><p:selectOneMenuid="fornecedor"required="true"requiredMessage="Fornecedor obrigatório"value="#{pedidoBean.empresa.empresa}"styleClass="combo"><f:selectItemitemValue=""itemLabel="Selecione..."/><f:selectItemsvalue="#{pedidoBean.fornecedores}"/><f:ajaxexecute="fornecedor"render="empresa"event="change"listener="#{pedidoBean.buscarContrato}"></f:ajax></p:selectOneMenu></h:panelGroup><h:panelGroup><p:inputTextid="contrato"readonly="true"required="true"requiredMessage="Nº do contrato obrigatório"size="20"maxlength="20"value="#{pedidoBean.contrato.numero}"/></h:panelGroup></h:panelGrid><h:panelGridcolumns="2"><h:panelGroup><h:outputLabelvalue="Nº da proposta "for="proposta"/></h:panelGroup><h:panelGroup><h:outputLabel/></h:panelGroup><h:panelGroup><p:selectOneMenuid="proposta"required="true"requiredMessage="Nº da Proposta obrigatório"value="#{pedidoBean.proposta.codigo}"><f:selectItemitemValue=""itemLabel="Selecione..."/><f:selectItemsvalue="#{pedidoBean.propostas}"/></p:selectOneMenu></h:panelGroup><p:commandButtontype="button"value="Adicionar"onclick="dlg.show()"/></h:panelGrid></p:panel><br/><p:panelid="pedido"header="Dados do pedido de serviço"><h:panelGridcolumns="1"><h:panelGroup><h:outputLabelvalue="Tipo de Serviço: "for="tipo"/></h:panelGroup><h:panelGroup><p:selectOneRadioid="tipo"value="#{pedidoBean.pedidoServico.tipo}"><f:selectItemitemValue="legado"itemLabel="Legado"/><f:selectItemitemValue="outros"itemLabel="Outros"/></p:selectOneRadio></h:panelGroup></h:panelGrid><h:panelGridcolumns="1"><h:panelGroup><h:outputLabelvalue="Nº Anexo: "for="anexo"/></h:panelGroup><h:panelGroup><p:inputTextid="anexo"required="true"requiredMessage="Nº anexo obrigatório"size="20"maxlength="30"value="#{pedidoBean.pedidoServico.numeroAnexo}"></p:inputText></h:panelGroup></h:panelGrid></p:panel><br/><h:panelGridcolumns="2"><h:panelGroup><p:commandButtonvalue="Salvar"action="#{pedidoBean.salvar}"update="empresa, pedido, growl, panelParcela"></p:commandButton></h:panelGroup><h:panelGroup><p:ajaxStatus><f:facetname="start"><h:graphicImagelibrary="imagens"name="loading.gif"/></f:facet><f:facetname="complete"><h:outputTextvalue=""/></f:facet></p:ajaxStatus></h:panelGroup></h:panelGrid></h:form><p:dialogheader="Cadastro rápido da proposta"widgetVar="dlg"resizable="false"modal="true"><p:panel><h:formid="dialog"><h:panelGridcolumns="2"><h:panelGroup><h:outputLabelvalue="Fornecedor: "for="fornecedorDialog"/></h:panelGroup><h:panelGroup><h:outputLabelvalue="Nº do Contrato "for="contratoDialog"/></h:panelGroup><h:panelGroup><p:selectOneMenuid="fornecedorDialog"required="true"requiredMessage="Fornecedor obrigatório"value="#{pedidoBean.empresa.empresa}"styleClass="combo"><f:selectItemitemValue=""itemLabel="Selecione..."/><f:selectItemsvalue="#{pedidoBean.fornecedores}"/><f:ajaxexecute="fornecedorDialog"render="contratoDialog"event="change"listener="#{pedidoBean.buscarContrato}"></f:ajax></p:selectOneMenu></h:panelGroup><h:panelGroup><p:inputTextid="contratoDialog"readonly="true"required="true"requiredMessage="Nº do contrato obrigatório"size="20"maxlength="20"value="#{pedidoBean.contrato.numero}"/></h:panelGroup></h:panelGrid><h:panelGridcolumns="1"style="margin-bottom:10px"><h:outputLabelfor="proposta"value=" Nº da Proposta:"/><p:inputTextid="proposta"required="true"requiredMessage="Nº da proposta obrigatório"size="30"maxlength="30"/></h:panelGrid><p:commandButtonvalue="Salvar"action="#{pedidoBean.salvarProposta}"update="dialog"oncomplete="dlg.hide()"/></h:form></p:panel></p:dialog></ui:define></ui:composition></html>
<?xmlversion='1.0'encoding='UTF-8'?><!DOCTYPEhtmlPUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="http://www.w3.org/1999/xhtml"xmlns:h="http://java.sun.com/jsf/html"xmlns:p="http://primefaces.prime.com.tr/ui"><h:head><title>FaceletTitle</title><scripttype="text/javascript">functionhandlePessoaRequest(xhr,status,args){if(args.validationFailed||args.ok==false){jQuery('#dlgPessoa').effect("shake",{times:3},100);}else{varPessoa.hide();//window.alert("OK, ocultando..")//jQuery('#loginLink').fadeOut();}}</script></h:head><h:body><h:formid="formDlgPessoa"prependId="false"><p:growlshowDetail="true"showSummary="true"id="grow"sticky="true"life="1"/><p:dialogclosable="true"id="dlgPessoa"header="Cadastro"widgetVar="varPessoa"modal="true"width="600"><h:panelGridcolumns="2"><h:outputLabelvalue="Nome"for="txtNome"/><p:inputTextid="txtNome"value="#{pessoaBean.nome}"required="true"requiredMessage="Obrigatorio o campo"/><p:messageid="msgTxt"for="txtNome"/></h:panelGrid><p:commandButtonvalue="Salvar"actionListener="#{pessoaBean.salvar}"oncomplete="handlePessoaRequest(xhr,status,args)"update=":formDlgPessoa:msgTxt,grow"ajax="true"immediate="false"/></p:dialog></h:form><p:separator/><h:formid="formPessoa"><p:commandButtonvalue="Ver"oncomplete="varPessoa.show()"/></h:form></h:body></html>
Bean.java
/* * To change this template, choose Tools | Templates * and open the template in the editor. */importjavax.faces.bean.ManagedBean;importjavax.faces.bean.SessionScoped;importjavax.faces.event.ActionEvent;importorg.primefaces.context.RequestContext;/** * * @author sfidencio */@ManagedBean@SessionScopedpublicclassPessoaBean{privateStringnome;publicStringgetNome(){returnnome;}publicvoidsetNome(Stringnome){this.nome=nome;}publicvoidsalvar(ActionEventevent){try{booleanok=false;RequestContextcx=RequestContext.getCurrentInstance();System.out.println("Processamento..");/* if (this.nome.toString().equals("") || this.nome.toString().equals(null)) { ok = false; } else { FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_INFO, "OK", "Salvo com sucesso!"); FacesContext contexto = FacesContext.getCurrentInstance(); contexto.addMessage("formDlgPessoa", msg); System.out.println("OK Salvo.."); }*/cx.addCallbackParam("ok",true);}catch(Exceptione){e.printStackTrace();}}/** * Creates a new instance of PessoaBean */publicPessoaBean(){}}Avalidaçãodofaces(ProcessValidations)nacaixadedialog(p:dialog)funcionouperfeito,demodoqueometododeCallBack.enviaparaoclientearespostadoservidor,dessaforma,.onoevento.jqueryoncomplete,.elechamaometodojs,.quecapturaoretornodoCallBack.Nãoécomplicadofazerissoemvariosforms,.depoisquepegaamanhavaiembora.