全部,
我正在尝试在我的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:support会触发,导致数据被验证(通过),然后持久。现在,如果在切换到下一个字段后我决定我不想编辑此记录,我无法取消,还原我的更改 - 我的更改已经保留到数据库。
无论如何,我可以启动AJAX验证,但没有任何持久性发生?或者我只需要忘记ajax验证并在表单提交时解雇它。