Tengo un formulario de contacto simple en aspx. Quiero validar el reCaptcha (del lado del cliente) antes de enviar el formulario. Por favor ayuda.
Código de muestra:
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default2.aspx.vb" Inherits="Default2" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Test Form</title>
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.2/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.2/jquery-ui.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css">
<script src="https://www.google.com/recaptcha/api.js" async defer></script>
<script>
$("#cmdSubmit").click(function () {
//need to validate the captcha
});
</script>
</head>
<body>
<form id="form1" runat="server">
<label class="clsLabe">First Name<sup>*</sup></label><br />
<input type="text" id="txtFName" name="txtFName" class="clsInput" /><br />
<div class="g-recaptcha" data-sitekey="my_key"></div>
<img id="cmdSubmit" src="SubmitBtn.png" alt="Submit Form" style="cursor:pointer;" />
</form>
</body>
</html>
Quiero validar el captcha al cmdSubmit
hacer clic.
Por favor ayuda.
javascript
jquery
asp.net
google-api
recaptcha
Mahatma Aladdin
fuente
fuente
Respuestas:
Esta verificación del lado del cliente de
reCaptcha
- lo siguiente funcionó para mí:si reCaptcha no se valida en las
grecaptcha.getResponse();
devoluciones del lado del clientenull
, de lo contrario, devuelve un valor distinto denull
.Código Javascript:
fuente
Use esto para validar el captcha de google con javascript simple.
Este código en el cuerpo html:
Este código se coloca en la sección principal del botón de formulario de método de llamada get_action (this):
fuente
===
y!==
; no hay razón para no hacerlo.La respuesta de Pablo simplificada:
Fuente:
HTML:
JS:
fuente
Si renderiza el Recaptcha en una devolución de llamada
usando un DIV vacío como marcador de posición
luego puede especificar una llamada de función opcional en una respuesta CAPTCHA exitosa
La respuesta recaptcha luego se enviará a la función 'correctCaptcha'.
Todo esto fue de las notas de la API de Google:
Notas de la API de Google Recaptcha v2
No estoy seguro de por qué querrías hacer esto. Normalmente, enviaría el campo g-recaptcha-response junto con su clave privada para validar de forma segura el lado del servidor. A menos que desee deshabilitar el botón de envío hasta que la recaptcha haya tenido éxito o algo así, en cuyo caso lo anterior debería funcionar.
Espero que esto ayude.
Pablo
fuente
Usé la solución de HarveyEV pero la leí mal y lo hice con jQuery validate en lugar del validador Bootstrap.
fuente
Pensé que todos eran geniales, pero tuve problemas para que funcionaran con javascript y c #. Aquí esta lo que hice. Espero que ayude a alguien más.
fuente
puedes renderizar tu recaptcha usando el siguiente código
Luego puede validar su recaptcha usando el método "IsRecapchaValid ()" de la siguiente manera.
fuente
Usé la solución de Palek dentro de un validador Bootstrap y funciona. Hubiera agregado un comentario al suyo pero no tengo el representante;). Versión simplificada:
fuente
Enlace de origen
Simplemente puede verificar en el lado del cliente usando el método grecaptcha.getResponse ()
fuente
Desafortunadamente, no hay forma de validar el captcha solo en el lado del cliente (navegador web), porque la naturaleza del captcha en sí requiere al menos dos actores (lados) para completar el proceso. El lado del cliente: le pide a un humano que resuelva algunos acertijos, equitación matemática, reconocimiento de texto, y la respuesta está codificada por un algoritmo junto con algunos metadatos como captcha resolviendo marca de tiempo, código de desafío pseudoaleatorio. Una vez que el lado del cliente envía el formulario con un código de respuesta captcha, el lado del servidor necesita validar este código de respuesta captcha con un conjunto predefinido de reglas, es decir. si captcha se resuelve dentro de un período de 5 minutos, si las direcciones IP del cliente son las mismas, etc. Esta es una descripción muy general, cómo funcionan los captchas, cada implementación (como ReCaptcha de Google, alguna equitación matemática básica que resuelve captchas hechos por uno mismo),
NÓTESE BIEN. El cliente (navegador web) tiene una opción para deshabilitar la ejecución de código JavaScript, lo que significa que las soluciones propuestas son completamente inútiles.
fuente
Se requiere la validación de Captcha.
fuente
Funcionará como se esperaba.
fuente
El ASP.Net de Google reCAPTCHA versión 2 permite validar la respuesta de Captcha en el lado del cliente utilizando sus funciones de devolución de llamada. En este ejemplo , el nuevo reCAPTCHA de Google se validará mediante ASP.Net RequiredField Validator.
fuente