I would like to prevent a user from submitting a form unless reCaptcha is checked.
The issue is that the validation error message displays but my form does not submit even when the reCaptcha is checked. I checked the console and I don't see anything out of the ordinary.
My html code is:
<form id="myform>
<input type="hidden" class="hiddenRecaptcha required" name="hiddenRecaptcha" id="hiddenRecaptcha">
<div class="g-recaptcha" data-sitekey="{YOUR-SITE-KEY-HERE}"></div>
<!-- These are the fields I want ignored -->
<input type="hidden" id="email" name="email" value="" class="ignore>
<input type="hidden" id="one" class="ignore">
<input id="template_id" name="template" class="ignore" />
<button class="button-large-red " id="submitB" type="submit">Submit</button>
</form>
And My validation code is:
var $form = $("#myform"),
$successMsg = $(".alert");
$form.validate({
ignore: ".ignore",
rules: {
firstname: {
required: true,
minlength: 0,
letters: true
},
"hiddenRecaptcha": {
required: function() {
if(grecaptcha.getResponse() == '') {
return true;
} else {
return false;
}
}
},
messages: {
firstname: "Please place your first name",
lastname: "Please place your last name",
},