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

时间:2013-12-27 03:07:59

标签: validation jsf facescontext

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

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

  

ReferenceError:facesContext未定义

在我的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>

任何人都知道为什么?提前谢谢。

1 个答案:

答案 0 :(得分:2)

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

但是,我认为在提交表单之前执行onclick脚本仍然无法达到预期的效果。