我目前正在为 rails 使用 ambethia 的 recaptcha 插件。我想禁用消息
“不正确的验证码溶胶”
每当用户错误地输入错误的recaptcha。我该怎么做呢?
在源文件中,我得到围绕错误消息的以下标签
<p class="recaptcha_error">incorrect-captcha-sol</p>
我目前正在为 rails 使用 ambethia 的 recaptcha 插件。我想禁用消息
“不正确的验证码溶胶”
每当用户错误地输入错误的recaptcha。我该怎么做呢?
在源文件中,我得到围绕错误消息的以下标签
<p class="recaptcha_error">incorrect-captcha-sol</p>
因为 flash[] 是一个数组,您可以删除其中的元素。当我们使用 recaptcha gem 时,flash 数组包含recaptcha_error元素,因此您只需 在控制器中使用: flash.delete(:recaptcha_error)删除此元素。
例如 :
if verify_recaptcha(:model=>@object,:message=>"Verification code is wrong", :attribute=>"verification code") && @object.save
#your code if succes
else
flash.delete(:recaptcha_error)
#your code if its fail
end
也许它可以帮助你。谢谢
该插件设置flash(更准确地说是flash[:recaptcha_error]),即它不会自动显示消息。很可能您有一段代码可以显示所有 Flash 消息。尝试删除它和/或不显示 flash[:recaptcha_error]。
我已经解决了这个问题,这是我遇到的大多数不寻常的事情,我的语法以前是:
<table>
<form>
<tr><td></td></tr>
</form>
</table>
我把它改成这样:
<form>
<table>
<tr><td></td></tr>
</table>
</form>
由于这个开关,突然 recaptcha_response_field 和 recaptcha_challenge_field 将值返回到表单。
我想不出为什么会这样,因为我的所有表单变量在切换之前都被发回了。
您可能会得到这个,因为您没有放置翻译文件。我认为正确的方法不是删除闪存消息而是放入 i18n 文件
例子:
en:
recaptcha:
errors:
incorrect-captcha-sol: 'Fail'