Recently, Google completely overhauled their reCaptcha API and simplified it to a single checkbox.
The problem is, I can submit a form with the reCaptcha included without checking it and the form will ignore the reCaptcha.
Before you had to send the form to a PHP file with the private key et al, but I'm not seeing any mention of that in their Developer's Guide. I have no idea how to validate the form to be sure the new reCaptcha was filled by the user.
Am I missing something? Is that PHP file with the private key still required?
All I have for the reCaptcha so far is:
<div data-type="image" class="g-recaptcha" data-sitekey="My Public Key"></div>
If you want to check if the User clicked on the I'm not a robot
checkbox, you can use the .getResponse()
function provided by the reCaptcha API.
It will return an empty string in case the User did not validate himself, something like this:
if (grecaptcha.getResponse() == ""){
alert("You can't proceed!");
} else {
alert("Thank you");
}
In case the User has validated himself, the response will be a very long string.
More about the API can be found on this page: reCaptcha Javascript API