Witam,
Chciałbym za pomocą jquery validation sprawdzić captchę. Chodzi mi o to żeby jeśli nie jest zaznaczony wyskoczył błąd "Pole wymagane" co działa poprawnie,
natomiast druga rzecz to jeśli po sprawdzeniu za pomocą secret key otrzymam złą odpowiedź to chciałbym żeby pojawił się błąd "Potwierdź że nie jesteś botem". Poniżej przedstawiam to co udało mi się zrobić, jednak poniższe rozwiązanie nie działa nie otrzymuję żadnej informacji zwrotnej - po zaznaczeniu pola captcha (klucz secret key celowo podałem zły).
<div class="g-recaptcha margins-captcha center" data-sitekey="My-Site-Key" id="reCaptcha" name="captcha"></div>
$(document).ready(function () {
$('#formSignup').validate({
rules: {
captcha: {
required: function () {
if (grecaptcha.getResponse() === '') {
return true;
} else {
return false;
}
},
remote: {
url: "/signup/checkCaptcha",
type: "post",
data: {
recaptchaResponse: function () {
return grecaptcha.getResponse();
}
}
}
},
messages: {
captcha: {
required: 'Pole wymagane',
remote: 'Potwierdź że nie jesteś botem'
}
}
});
}
public function checkCaptcha()
{
if(isset($_POST['recaptchaResponse'])){
$secretKey = "MY_SECRET_KEY";
$check = file_get_contents('https://www.google.com/recaptcha/api/siteverify?secret='.$secretKey.'&response='.$_POST['recaptchaResponse']);
$answer = json_decode($check);
if($answer->success==false){
echo $answer;
}
}
}
Nie wiem gdzie może być błąd, proszę o pomoc.