成功验证后可以启用primefaces按钮吗?

时间:2013-09-14 00:34:22

标签: jsf-2 primefaces

是否可以启用primefaces按钮,具体取决于inputText的正确验证,而不使用jquery或在java类上编写验证? 我只是想在视图端启用它并使用几个inputTexts 我正在尝试disabled="#{not facesContext.postback or not facesContext .validationFailed}" 但也许我做错了什么因为我没有按照我的期望工作。 我有类似的东西,但有4个inputTexts具有相似的代码。

    <p:inputText id="user" value="#{acc.user}" 
        required="true">
        <f:validateLength ... for="user" />
        <p:ajax update="msgUser" event="keyup" />
        <p:ajax update=":#{p:component('add')}"  />
    </p:inputText>
<p:commandButton id="add" update="dataTable"
    oncomplete="addConfirm.hide()" actionListener="#{managedBean.onCreate}" 
    disabled="#{not facesContext.postback or not facesContext .validationFailed}"/>

全部在confirmDialog

1 个答案:

答案 0 :(得分:3)

是的,只需输入ajax-update按钮,如果当前请求是回发,验证失败,则检查其disabled属性。

<p:inputText ...>
    <p:ajax ... update="button" />
</p:inputText>
<p:commandButton id="button" ... disabled="#{not facesContext.postback or not facesContext .validationFailed}" />