我想在注册用户时添加验证码验证。我正在使用
p:captcha
。密钥设置正确,我可以在本地计算机中看到验证码。但在服务器上,验证验证码并单击提交后,验证码将重置并给出错误:Please validate Captcha.
(下面的必需消息)并停留在同一页面上。 我有一个验证码定义如下:
register.xhtml
文件:
<ui:define name="content">
<h:form id="registerForm">
<div class="card-body">
<ui:include src="userDetails.xhtml" />
<p:commandButton
type="submit" styleClass="float-end" value="Submit"
update="@form" process="@form" icon="pi pi-chevron-circle-right"
id="sign-up-button" escape="false" actionListener="#Cntrl.submit}"
ajax="false" />
</div>
</h:form>
</ui:define>
文件
userDetails.xhtml
:
<div class="col-md-6">
<ui:define name="control">
<p:captcha
label="Captcha" id="captcha" required="true"
requiredMessage="Please validate Captcha."
validatorMessage="Please validate Captcha." />
<p:message for="captcha" escape="false" />
</ui:define>
</div>
PrimeFaces 版本:13.0.4 || MyFaces 版本:4.0.1 || Java 17
我找到了另一种验证码的方法,以及这个问题的解决方案。
我正在使用 mewebstudio 的 Java 验证码生成器(GitHub 项目)。
它按预期工作,并且不依赖于 javax/jakarta。
它是高度可定制的。谢谢!