Tenho um formulário de contato simples no aspx. Quero validar o reCaptcha (lado do cliente) antes de enviar o formulário. Por favor ajude.
Código de amostra:
<%@ 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>
Quero validar o captcha no cmdSubmit
clique.
Por favor ajude.
javascript
jquery
asp.net
google-api
recaptcha
Mahatma Aladdin
fonte
fonte
Respostas:
Esta verificação do lado do cliente de
reCaptcha
- o seguinte funcionou para mim:se o reCaptcha não for validado nos
grecaptcha.getResponse();
retornos do lado do clientenull
, senão retornará um valor diferente denull
.Código Javascript:
fonte
Use isso para validar o captcha do google com javascript simples.
Este código no corpo html:
Este código colocado na seção head na chamada do botão do formulário do método get_action (this):
fonte
===
e!==
; nenhuma razão para não fazer.Resposta de Paul simplificada:
Fonte:
HTML:
JS:
fonte
Se você renderizar o Recaptcha em um retorno de chamada
usando um DIV vazio como um espaço reservado
então você pode especificar uma chamada de função opcional em uma resposta CAPTCHA bem-sucedida
A resposta de recaptcha será enviada para a função 'correctCaptcha'.
Tudo isso veio das notas da API do Google:
Notas da API Google Recaptcha v2
Não sei por que você faria isso. Normalmente, você enviaria o campo g-recaptcha-response junto com sua chave privada para validar com segurança do lado do servidor. A menos que você queira desativar o botão de envio até que a recaptcha seja bem-sucedida ou algo semelhante - neste caso, o procedimento acima deve funcionar.
Espero que isto ajude.
Paulo
fonte
Usei a solução de HarveyEV, mas a interpretei mal e fiz isso com o jQuery validate em vez do validador Bootstrap.
fonte
Achei todos eles ótimos, mas tive problemas para fazê-los funcionar com javascript e c #. Aqui está o que eu fiz. Espero que isso ajude mais alguém.
fonte
você pode renderizar seu recaptcha usando o seguinte código
Então você pode validar seu recaptcha usando o método "IsRecapchaValid ()" como segue.
fonte
Usei a solução de Palek dentro de um validador Bootstrap e funcionou. Eu teria adicionado um comentário ao dele, mas não tenho o representante;). Versão simplificada:
fonte
Link da fonte
Você pode simplesmente verificar no lado do cliente usando o método grecaptcha.getResponse ()
fonte
Infelizmente, não há como validar o captcha apenas no lado do cliente (navegador da web), porque a natureza do captcha em si requer pelo menos dois atores (lados) para concluir o processo. O lado do cliente - pede a um humano para resolver algum quebra-cabeça, equitação matemática, reconhecimento de texto, e a resposta está sendo codificada por um algoritmo junto com alguns metadados como captcha resolvendo timestamp, código de desafio pseudo-aleatório. Depois que o lado do cliente envia o formulário com um código de resposta captcha, o lado do servidor precisa validar esse código de resposta de captcha com um conjunto predefinido de regras, ou seja, se o captcha for resolvido em um período de 5 minutos, se os endereços IP do cliente forem iguais e assim por diante. Esta é uma descrição muito geral, de como os captchas funcionam, de cada implementação (como o ReCaptcha do Google, algumas equações matemáticas básicas resolvendo captchas feitas por você mesmo),
NB. O cliente (navegador da web) tem a opção de desabilitar a execução do código JavaScript, o que significa que as soluções propostas são completamente inúteis.
fonte
A validação de Captcha é necessária.
fonte
Funcionará conforme o esperado.
fonte
O Google reCAPTCHA versão 2 ASP.Net permite validar a resposta Captcha do lado do cliente usando suas funções de retorno de chamada. No presente exemplo , o Google nova reCAPTCHA será validado usando ASP.Net RequiredField Validator.
fonte