我想知道是否有一個技巧來驗證除了一個表單中的所有字段?JSF和部分驗證
喜歡的東西:
<p:remoteCommand process="@form^F100" .... />
顯然,這不工作...
如果我有一個表單100場,有沒有什麼辦法或快捷方式來驗證,例如所有的異常F100 ?
難道我註定要使用
<p:remoteCommand process="F1 F2 F3 F4 F5 F6 .... F99" .... />
?
我想知道是否有一個技巧來驗證除了一個表單中的所有字段?JSF和部分驗證
喜歡的東西:
<p:remoteCommand process="@form^F100" .... />
顯然,這不工作...
如果我有一個表單100場,有沒有什麼辦法或快捷方式來驗證,例如所有的異常F100 ?
難道我註定要使用
<p:remoteCommand process="F1 F2 F3 F4 F5 F6 .... F99" .... />
?
您可以使用PrimeFaces Selectors (PFS)。這允許您使用jQuery CSS selector syntax的PrimeFaces ajax組件的process
和update
屬性。例如,您可以在要跳過的組件上使用noprocess
類,並使用:not(.noprocess)
選擇器。
<h:form>
<h:inputText ... />
<h:inputText ... />
<h:inputText ... />
...
<h:inputText ... />
<h:inputText ... />
<h:inputText ... styleClass="noprocess" />
<p:remoteCommand ... process="@(form :not(.noprocess))"/>
</h:form>
這個例子將處理整個形式期望的具有在客戶端class="noprocess"
輸入:如下
你的特殊要求然後可以解決。
這就是我所需要的!非常感謝你:) –
不客氣。 – BalusC
只需指定我對信息的要求:我使用p:captcha組件,reCaptcha不支持局部頁面更新,所以我不想通過Ajax刷新它,但使用'Recaptcha.reload()'方法 –
你有沒有試圖把它們放在兩個不同的表格中? –
@Alexandre:不,但我有多個commandButton,它們驗證同一表單中的一些不同的字段,所以我只能保留1個表格 –
您可以使用表單進行遊戲,並更改您的過程=「@form1 @ form2」或者只有process =「@form1 「 例如。 –