2
嗨JSF專家那裏......JSF形式AJAX驗證 - 熱點問題
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.org/ui"
xmlns:o="http://omnifaces.org/ui">
<h:head>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
</h:head>
<h:body>
<h:form>
<o:validateOneOrMore components="one two three" id="validate"/>
<p:message for="validate"/>
<p:inputText id="one" value="#{testBean.valueOne}">
<p:ajax event="change" process="@this" update="@form"/>
</p:inputText>
<p:inputText id="two" value="#{testBean.valueTwo}">
<p:ajax event="change" process="@this" update="two"/>
</p:inputText>
<p:inputText id="three" value="#{testBean.valueThree}">
<p:ajax event="change" process="@this" update="one two validate"/>
</p:inputText>
<p:commandButton process="@form"
update="@form"
value="Submit"
partialSubmit="true"
action="#{testBean.submit}"/>
</h:form>
</h:body>
</html>
一個簡單的形式與至少一種形式填寫,即時錯誤復位以及片能的要求。
但我沒有得到它的工作,嘗試了不同的東西,你可以在示例代碼中看到。
會發生什麼
- 命中提交 - 顯示>錯誤消息:精
- 在字段中的一個輸入項,並與標籤離開:罰款(所有領域都沒有處於錯誤狀態不再和消息消失),但完成AJAX更新後焦點丟失。好的,我在這裏閱讀JSF和瀏覽器的預期行爲,但如何解決?
- 刪除所有條目,按回車 - >在字段三輸入並離開字段...沒有任何變化......即使消息沒有消失......我也不明白,因爲我更新了所有字段
是否有任何解決方案,有一個像這樣的形式......在每次輸入表單驗證後會發生(意味着消除這樣的全局錯誤),仍然通過使用Tab鍵可以快速使用它嗎?
thx。
目前還不清楚你在這裏問的是什麼,但當輸入發生變化時,通過ajax更新託管bean是一種壞習慣。最好忘記這一點,只有在使用按鈕提交表單時才執行驗證。就像那樣,你會得到一個快速選項卡性能。 –
很確定...但如果我現在進入某物。到我想刪除錯誤的字段中,因爲用戶不知道要填寫至少一個字段,並且在他填寫某些字段之後。合爲一體,仍顯示錯誤。基本上不是更新託管bean,而是立即更新驗證狀態。 –
markush81