reCaptcha валидация

350
31 июля 2017, 11:16

Идея в том, чтобы выводить сообщение об ошибке, если пользователь не ввел капчу. Но ошибка не выводится, в консоли тоже все чисто.

<head>
<script type="text/javascript">
        var onloadCallback = function() {
            grecaptcha.render('html_element', {
                'sitekey' : '...',//мой ключ
                'callback' : correctCaptcha
            });
        };
        var correctCaptcha = function(response) {};
</script>
</head>
<body>
<form>
<div id="html_element"></div>
<span id="errorCaptcha" style="color: red"></span>
<button type="submit" class="btn btn-success" id="btnSaveIt">Save</button>
</form>
<script>
    //валидация формы по нажатию на submit
    $(document).ready(function(){
       $("#btnSaveIt").click(function(){
           var isValid = true;
           if(correctCaptcha == ''){
               isValid = false;
               $("#errorCaptcha").html("Enter captcha");
           }else{
               $("#errorCaptcha").html("");
           }
           //еще if-ы для валидации других полей формы
           if(isValid == true){
           }else{
               return false;
           }
       });
    });
</script>
<script src="https://www.google.com/recaptcha/api.js?
onload=onloadCallback&render=explicit"
    async defer>
</script>
</body>
Answer 1

Если вы используете версию капчи V2, то самый простой метод проверки это - было ли действие пользователь-капча, для этого необходимо проверить невидимую строку, которая генерируется самим JS капчи:

$("#btnSaveIt").click(function(){
var key = $('#g-recaptcha-response').val().trim();
if(key == ''){
console.log('Пользователь не взаимодействовал с капчой');
return false;
} else{
console.log('пользователь активировал капчу');
}
}); 

Тем самым вы уже можете проверить было ли действие со стороны пользователя, до отправки формы

READ ALSO
Не работет отправка сообщений на почту C#

Не работет отправка сообщений на почту C#

Здравствуйте, подскажите как отправить сообщение на почту с Mailru аккаунта

245
C# Вывод данных из массива

C# Вывод данных из массива

Приветствую! Задача заключается в том, чтобы из большого массива строк в файле (больше миллиона строк) брать по 25к строк и вставлять их в TextBox...

299
Проблема с INotifyPropertyChanged

Проблема с INotifyPropertyChanged

Есть интерфейс 1:

348