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
}