gpt4 book ai didi

java - Primefaces 验证码消失或不更新/刷新无效输入?

转载 作者:搜寻专家 更新时间:2023-10-31 08:23:52 24 4
gpt4 key购买 nike

我在 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 的问题。因此,我正在寻找您可能建议的任何肮脏的技巧。

感谢任何帮助。

最佳答案

你不会喜欢我的回答,但这不是错误。

Primefaces Issue 1642被标记为不会修复。

Primefaces Captcha 使用的是 Recaptcha,它不支持也不能支持 Ajax 刷新。您必须执行完整的页面回发才能使该组件正常工作。请记住,这也会影响在需要 Ajax 刷新面板的组件(例如选项卡 View 或向导组件)中使用验证码的能力。

编辑: 另一方面,可以在 <iframe> 中使用验证码组件。达到类似的效果,但这似乎是一个肮脏的黑客。抱歉,我帮不上什么忙。

关于java - Primefaces 验证码消失或不更新/刷新无效输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8979089/

24 4 0
文章推荐: java - Java 中的一个 boolean 值数组是否小于独立变量?
文章推荐: swift - 如何将闭包类型的 let 属性初始化为指向某个方法的指针?
文章推荐: html - 如何使响应圈
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com