2011-03-09 71 views
0

大家好,AJAX驗證沒有堅持

我想設定一些驗證我的Seam應用&我有工作,但它有一些副作用,我想避免的。我已將輸入表單中的字段設置如下:

<label for="displayName" class="required">Display Name:</label> 
<s:decorate id="displayNameDecorate" styleClass="errorwrapper"> 
    <h:inputText id="displayName" value="#{presenceHome.instance.displayName}" required="true"> 
     <a4j:support event="onblur" reRender="displayNameDecorate" ajaxSingle="true"/> 
    </h:inputText> 
    <a4j:outputPanel ajaxRendered="true"> 
     <h:message for="displayName" styleClass="errormessage"/> 
    </a4j:outputPanel> 
</s:decorate> 

此方法正常工作。如果我輸入的顯示名稱被認爲無效,則會顯示驗證錯誤。我遇到的麻煩是輸入的值有效。當我列出該字段時,a4j:支持會引發數據驗證(通過),然後持續。現在,如果在進入下一個字段後,我決定不想編輯此記錄,則無法取消,恢復我的更改 - 我的更改已保存到數據庫。

是否有反正我可以讓AJAX驗證失火但沒有任何持續發生?或者我只需要忘記ajax驗證,並在表單提交時發出響應。

回答

0

我不知道發生了什麼事在你展示的代碼,但是會使用類似的RichFaces' <豐富:ajaxValidator>不是使生活更輕鬆?文檔頁面是here

+0

我以前沒見過RichFaces標籤。功能列表中的第一個狀態是「跳過除驗證之外的所有JSF處理」,這正是我想要的。所以謝謝你指出。 – 2011-03-11 06:58:25