How can I validate google reCAPTCHA v2 using javascript/jQuery? How can I validate google reCAPTCHA v2 using javascript/jQuery? asp.net asp.net

How can I validate google reCAPTCHA v2 using javascript/jQuery?


This Client side verification of reCaptcha - the following worked for me :

if reCaptcha is not validated on client side grecaptcha.getResponse(); returns null, else is returns a value other than null.

Javascript Code:

var response = grecaptcha.getResponse();if(response.length == 0)    //reCaptcha not verifiedelse    //reCaptch verified


Use this to validate google captcha with simple javascript.

This code at the html body:

<div class="g-recaptcha" id="rcaptcha" style="margin-left: 90px;" data-sitekey="my_key"></div><span id="captcha" style="margin-left:100px;color:red" />

This code put at head section on call get_action(this) method form button:

function get_action(form) {    var v = grecaptcha.getResponse();    if(v.length == 0)    {        document.getElementById('captcha').innerHTML="You can't leave Captcha Code empty";        return false;    }    else    {        document.getElementById('captcha').innerHTML="Captcha completed";        return true;     }}


If you render the Recaptcha on a callback

<script src="https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit" async defer></script>

using an empty DIV as a placeholder

<div id='html_element'></div>

then you can specify an optional function call on a successful CAPTCHA response

var onloadCallback = function() {    grecaptcha.render('html_element', {      'sitekey' : 'your_site_key',      'callback' : correctCaptcha    });  };

The recaptcha response will then be sent to the 'correctCaptcha' function.

var correctCaptcha = function(response) {    alert(response);};

All of this was from the Google API notes :

Google Recaptcha v2 API Notes

I'm a bit unsure why you would want to do this. Normally you would send the g-recaptcha-response field along with your Private key to safely validate server-side. Unless you wanted to disable the submit button until the recaptcha was sucessful or such - in which case the above should work.

Hope this helps.

Paul