带有验证码的PrimeFaces向导

时间:2013-05-07 12:35:46

标签: jsf-2 primefaces captcha wizard

我正在向<p:captcha> PrimeFaces尝试实施<p:wizard>。我发现只有this帖子有类似问题,当向导中的capcha在无效输入时消失。建议的解决方案对我不起作用。

主要问题:有可能通过某种方式将capcha插入到PrimeFaces向导中吗?

感谢您的回复!

1 个答案:

答案 0 :(得分:1)

我没有找到合适的解决方案(向导标签的AJAX更新阻止重新加载Recaptcha控件的iframe)但我创建了一个简单的解决方法:

  1. <p:captcha>
  2. 之外的<p:wizard>位置
  3. 绝对定位验证码iframe,因此它会在向导中移动
  4. 用CSS和
  5. 隐藏它
  6. 取消隐藏相应向导标签上flowListener方法内的验证码:
  7. e.g。

    public String onFlowProcess(FlowEvent event) {  
    
        RequestContext context = RequestContext.getCurrentInstance();
    
        if ("confirm".equals(event.getNewStep())) {
            context.execute("jQuery(document.getElementById('register:captchaDiv')).show()");
        } else {
            context.execute("jQuery(document.getElementById('register:captchaDiv')).hide()");
        }
    
        return event.getNewStep();  
    }