Saltar al contenido

Cómo validar Google reCaptcha en el formulario de envío

Si hallas algún fallo con tu código o proyecto, recuerda probar siempre en un ambiente de testing antes aplicar el código al trabajo final.

Solución:

Si desea verificar si el usuario hizo clic en el I'm not a robot casilla de verificación, puede utilizar la .getResponse() función proporcionada por la API reCaptcha.

Devolverá un vacío string en caso de que el Usuario no se autovalidara, algo como esto:

if (grecaptcha.getResponse() == "")
    alert("You can't proceed!");
 else 
    alert("Thank you");

En caso de que el Usuario se haya validado a sí mismo, la respuesta será muy larga string.

Puede encontrar más información sobre la API en esta página: reCaptcha API de Javascript

Puede verificar la respuesta de 3 maneras según la documentación de Google reCAPTCHA:

  1. g-recaptcha-response: Una vez que el usuario marca la casilla de verificación (No soy un robot), un campo con id g-recaptcha-response se rellena en su HTML.
    Ahora puede usar el valor de este campo para saber si el usuario es un bot o no, usando las líneas mencionadas a continuación:

    var captchResponse = $('#g-recaptcha-response').val();
    if(captchResponse.length == 0 )
        //user has not yet checked the 'I am not a robot' checkbox
    else 
        //user is a verified human and you are good to submit your form now
    
  2. Antes de enviar su formulario, puede hacer una llamada de la siguiente manera:-

    var isCaptchaValidated = false;
    var response = grecaptcha.getResponse();
    if(response.length == 0) 
        isCaptchaValidated = false;
        toast('Please verify that you are a Human.');
     else 
        isCaptchaValidated = true;
    
    
    
    if (isCaptchaValidated ) 
        //you can now submit your form
    
    
  3. Puede mostrar su reCAPTCHA de la siguiente manera:-

    Y luego defina la función en su JavaScript, que también se puede usar para enviar su formulario.

    function doSomething()  alert(1); 
    

    Ahora, una vez que se marque la casilla de verificación (No soy un robot), recibirá una devolución de llamada a la devolución de llamada definida, que es doSomething en tu caso.

var googleResponse = jQuery('#g-recaptcha-response').val();
if (!googleResponse) 
    $('

Please fill up the captcha.

" ').insertAfter("#html_element"); return false; else return true;

Pon esto en una función. Llame a esta función al enviar… #html_element es mi div vacío.

Reseñas y calificaciones de la guía

Si haces scroll puedes encontrar las interpretaciones de otros programadores, tú aún puedes insertar el tuyo si te apetece.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *