facesContext 未定义 使用 facesContext.validationFailed时出错



我正在尝试使用#{facesContext.validationFailed}来了解验证是否失败,以及是否显示对话框。

我构建了一个小项目来测试它,但得到

引用错误:未定义人脸上下文

在我的Firebug中,无论验证是否失败,对话框都不会显示。

这是我的代码:

<h:form>
        <p:messages id="messages" /> 
        <h:outputLabel for="test" value="Test : *" />  
        <p:inputText value="#{newBusinessCtrl.testStr}" required="true" id="test"/>
        <p:message for="test" />  
        <p:commandButton value="Save" onclick="if (!facesContext.validationFailed)testDlg.show();"/> 
        <p:confirmDialog message="test Msg"
                         header="Success" severity="alert"            
                         widgetVar="testDlg">
            <h:outputText value="input success!"/>
        </p:confirmDialog>
</h:form>

有人知道为什么吗?提前谢谢。

facesContext.validationFailed需要在 EL 表达式中,即 #{facesContext.validationFailed} ;否则它是一个JavaScript变量。

但是,我认为这仍然不会给您带来所需的效果,因为 onclick 脚本将在提交表单之前执行。

相关内容

  • 没有找到相关文章

最新更新