【发布时间】:2012-02-17 05:49:22
【问题描述】:
我在h:form 中有以下代码
<h:panelGrid id="captchaGrid">
<p:captcha id="captcha" label="Captcha" required="true"
requiredMessage="required"
validatorMessage="...">
</p:captcha>
<p:message id="captchaMessage" for="captcha" />
</h:panelGrid>
<p:commandButton id="submitButton" value="save"
actionListener="#{userBean.save}" update="captchaGrid"
onstart="doSomething()"
oncomplete="doSomethingElse(xhr, status, args)" icon="ui-icon-check">
</p:commandButton>
如果我正确输入验证码,这将正常工作。但是,如果我输入一个无效值,验证码组件就会消失。
我尝试删除 update="captchaGrid" 属性。这一次,验证码没有消失。相反,它并没有在视觉上刷新,而是(我猜)在内部刷新。因为正确输入这两个词仍然会产生验证错误。
此外;我不想使用ajax="false"。
更新:我也试过oncomplete="Recaptcha.reload()"。没用。有一个错误。但我不知道是我的代码还是 Primefaces 3.0 :)
更新 2: 正如 maple_shaft 所指出的,事实证明这是 Primefaces/Recaptcha 的问题。所以我正在寻找你可能建议的任何肮脏的黑客攻击。
任何帮助表示赞赏。
【问题讨论】:
标签: java jsf jakarta-ee primefaces captcha