Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf p:即使需要omnifaces验证,对话框也会关闭_Jsf_Primefaces_Omnifaces - Fatal编程技术网

Jsf p:即使需要omnifaces验证,对话框也会关闭

Jsf p:即使需要omnifaces验证,对话框也会关闭,jsf,primefaces,omnifaces,Jsf,Primefaces,Omnifaces,假设有一个带有提交按钮的p:dialog,其中p:dialog将在之后关闭,即使仍然需要验证,对话框也会关闭 <h:form> <h:outputText id="newValueId" value="#{myBean.newValue}/> <p:dialog id="dialog" widgetVar="dlg" resizable="false" dynamic="true" appendToBody="false" modal=

假设有一个带有提交按钮的
p:dialog
,其中
p:dialog
将在之后关闭,即使仍然需要验证,对话框也会关闭

<h:form>
    <h:outputText id="newValueId" value="#{myBean.newValue}/>
    <p:dialog id="dialog" widgetVar="dlg" resizable="false" dynamic="true"
       appendToBody="false" modal="true">  
       <o:validateOne id="one" components="name1 name2"
          message="one is required"/>
       <h:panelGrid columns="2" cellpadding="5">  
          <h:outputLabel value="name 1 :" />  
          <p:inputText value="#{myBean.name1}" id="name1"/> 
          <h:outputLabel fvalue="name 2 :" />  
          <p:inputText value="#{myBean.name2}" id="name2"/>  

          <p:commandLink id="okId" value="ok" update="growl newValueId"   
             action="#{myBean.updateMyForm}"  
             process="dialog"
             oncomplete="if(!args.validationFailed())dlg.hide();"/>    
            </h:panelGrid>  
     </p:dialog>
如果两个输入input1和input2仍然为空,我希望对话框不要关闭

但是现在发生的事情是,对话框关闭了,消息显示在咆哮声中,但是您的
oncomplete
清楚地表明了这一点?它说:“如果验证失败,则隐藏对话框”。难道你不应该否定这个条件吗?ٍ对不起,复制粘贴中有错误,我是说oncomplete=“如果(!args.validationFailed())dlg.hide();”对不起,对我来说没问题。顺便说一句,
必须进入
内部,而不是外部。我对所有html正文使用一个,而不是对正文使用一个,另一个用于解决我的问题,我在oncomplete中也使用了这一点{facesContext.postback而不是facesContext.validationFailed}当对话框仍然打开但消息没有显示在growlAgain中时,这段代码对我来说很好用,至少当复制粘贴到一个完全空白的游乐场项目中时,默认值是正常的。该问题是由迄今为止提供的信息中看不到的其他地方引起的。SSCCE将有助于确定原因。
class Mybean{

   String name1,name2,newValue;

   public void updateMyForm(){
      newValue=name1 + " " + name2;
   }

   //getter and setters
}