【问题标题】:Primefaces, captcha and FacesMessagePrimefaces、验证码和 FacesMessage
【发布时间】:2013-01-05 22:28:41
【问题描述】:

我在我的 JSF 视图(Primefaces)中集成了 reCaptcha 组件,我想收集 reCaptcha 失败错误(空白或错误​​值)。

我必须使用带有for 属性的<p:messages/> 组件,因为我有很多<p:messages/> 组件(1 个用于<p:tabView/> 组件中的选项卡)但是当我在id 组件中定义id 属性并使用<p:messages/>for 属性中的那个 id,它不起作用。当我不使用for 属性进行测试时,我看到FacesMessage 喜欢:

j_idt16:j_idt69 : bla bla bla ...

j_idt16:j_idt69 id 似乎不存在于我生成的 HTML 代码中...

如果我使用for="j_idt16:j_idt69",它也不起作用......

那么我怎样才能将captcha 消息发送到正确的messages 组件中呢?

【问题讨论】:

  • 请发布一个包含整个<h:form>的SSCCE。

标签: jsf-2 primefaces captcha


【解决方案1】:

Primefaces 提供的验证码对我不起作用。请按照以下教程使用 JSF 2 /Primefaces 解决我的验证码问题。

http://techzone4all.wordpress.com/2012/02/20/integrate-simple-captcha-to-web-project/

【讨论】:

  • 嗨,感谢您提供此链接。我的验证码成功了,但是(我不知道如何或为什么),在验证所有其他字段之前对其进行了检查。如果其值错误,则不验证其他字段。奇怪的行为,但我不在乎,它做的工作...... Ty
  • 你没有回答这个问题,而不需要点击该站点到另一个不保证将来可用的域,从而使你的“答案”在资源变为时可能毫无价值不可用。请将相关信息放在答案中,这样就不用点开网站了。
【解决方案2】:

为了满足您的特定需求,您应该为<p:captcha/> 上的validatorMessageconverterMessagerequiredMessage 属性定义值,以便能够针对各自的情况显示用户友好的消息。仅供参考,<p:captcha/> 组件在提交其封闭表单期间进行处理,即它不能附加到特定组件或类似的东西。

为了清晰的消息显示,您应该只将验证码组件与其他与 reCaptcha 操作相关的组件一起放在<h:form/> 中。

【讨论】:

  • <p:messages> 只有在设置了globalOnly="true" 时才是全局的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多