laravel - Laravel - reCAPTCHA 重新提交
问题描述
我已经使用 Guzzle Client 集成了 reCAPTCHA,如下所示:
Validator::extend('recaptcha', function ($attribute, $value, $parameters, $validator) {
$client = new Client();
$response = $client->post(env('RECAPTCHA_VERFIY_URL'), [
'form_params' => [
'secret' => env('RECAPTCHA_SECRET_KEY'),
'response' => $value
]
]);
$body = json_decode((string)$response->getBody());
return $body->success;
});
然后在我的验证规则中,我有:
'g-recaptcha-response' => 'required|recaptcha'
这很好用,但是我遇到的问题是,如果 reCAPTCHA 已被勾选和验证,并且我尝试重新提交表单(例如,如果初始提交包含错误),我会收到“错误”响应。用户无法重新勾选该框。
我该如何处理需要重新提交 reCAPTCHA 的情况?我正在通过 AJAX 提交和验证表单。
解决方案
推荐阅读
- sql - 如何在 tsql 中选择具有某些行优先级的随机行
- mysql - 从 SQL (Laravel) 检索 JSON 格式数组时遇到问题
- javascript - 当我检查值是否在前一行中定义时,为什么 Typescript 会抱怨可能的未定义值?
- python - 接受1个可迭代参数并将所有对象添加到列表中的函数(如果它们是int或float)?
- javascript - 在 Express 应用程序中添加参数时出现 CORS 错误
- python - 尽管 Matplotlib FuncAnimation(...,repeat=False) 保存的动画情节继续循环
- php - 如何从数据库中获取数据数组并使用 PHP 将其存储在变量中
- javascript - 尝试使用 JS 使 HTML 中的 img 可点击
- google-apps-script - 在从多个选项卡创建单独的电子表格时复制和应用条件格式
- php - 在 JSON 文件中的逗号后自动添加换行符?