我正在努力使reCAPTCHA以Orbeon形式工作。 我正在SAP Commerce(Hybris)中使用ORBEON 2018.2.3.201905172253 PE。 提交表格后,即使验证码是正确的,我也会收到错误消息“请检查您对验证码的回答”。
根据Orbeon官方文档https://doc.orbeon.com/form-runner/component/captcha
创建了一个通用表单并添加了reCAPTCHA<property
as="xs:string"
name="oxf.fr.detail.captcha.yforms.myForm"
value="reCAPTCHA"/>
<property as="xs:string" name="oxf.fr.detail.process.save-final.yforms.myForm">
validate-all
then save
then send(
uri = "https://myurl",
method = "PUT"
)
then navigate(uri = "https://myurl")
</property>
所以我很明显地缺少一些东西。我知道要添加fr-verify-done和fr-verify-error需要一些配置,但是Orbeon文档没有指定如何通过PROPERTIES进行配置。他们只说了如何在手动添加验证码组件时添加这些事件侦听器(通过Form Builder编辑表单的源代码)。
我尝试过但不起作用的事情:
提交时调度fr-verify事件:
xf:dispatch(name =“ fr-verify”,targetid =“验证码”) 然后验证所有 然后保存 然后发送( uri =“ https://myurl”, 方法=“ PUT” ) 然后浏览(uri =“ https://myurl”)
根据Orbeon文档将reCAPTCHA组件添加到表单源代码中:
<fr:recaptcha id="my-captcha">
<xf:send ev:event="fr-verify-done" submission="save-submission"/>
<xf:action ev:event="fr-verify-error">
<xf:toggle case="failure-case"/>
<xf:dispatch target="my-captcha" name="fr-reload"/>
</xf:action>
</fr:recaptcha>
当我添加以上摘录后单击“保存”时,“表单生成器”崩溃。如果我尝试通过Orbeon提供的在线演示表单构建器向表单添加相同的摘录,也会发生同样的情况:https://demo.orbeon.com/demo/fr/orbeon/builder/new 这太奇怪了,因为我使用的是在线最新版本的表单生成器添加了他们提供的代码,并且在尝试保存它时仍然崩溃。因此,我认为存在的问题与平台无关,而与Orbeon本身有关。
这是在将Recaptcha摘录添加到表单的源代码之后,我在Form Builder的在线演示中遇到的错误:“无法读取未定义的属性'call''
我没有提供任何相关的日志,我为Orbeon激活了调试级别日志,但没有得到任何有用的信息。
如果有人可以指导我完成以下任何一项,我将非常感谢: -在不使用Form Builder更改表单源代码的情况下配置fr-verify事件,或者 -通过Form Builder成功添加reCAPTCHA组件而不会使其崩溃,或者 -您可以提出的任何使验证码起作用的表格
预先感谢, 大卫
答案 0 :(得分:0)
SAP Hybris 6.6包括Orbeon Forms 2017.1.1,该版本使用Google的reCAPTCHA 1,Google不再支持该版本。您可以选择以下两种方式: