没有持久的Ajax验证

时间:2011-03-09 17:48:52

标签: java seam

全部,

我正在尝试在我的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验证并在表单提交时解雇它。

1 个答案:

答案 0 :(得分:0)

我不确定您所展示的代码中发生了什么,但会使用Richfaces的 &lt;富人:ajaxValidator&gt; 不会让生活更轻松吗?文档页面为here