2016-07-21 19 views
1

Wie kann eine benutzerdefinierte Nachrichtengültigkeit in Google recaptcha?Wie kann eine benutzerdefinierte Nachrichtengültigkeit in Google recaptcha mithilfe von JS?

Wenn der Benutzer das Kontrollkästchen Google Recaptcha nicht aktiviert oder vergessen hat, bevor Sie auf die Schaltfläche Absenden geklickt haben. Es wird eine Popup-Nachricht angezeigt, die der Benutzer zuerst überprüfen muss.

Ich habe JS, die das Eingabetextfeld validieren und es funktioniert. Aber ich weiß nicht, wie es

JS in Google Recaptcha zu implementieren:

function InvalidMsg(textbox){ 
    if(textbox.validity.patternMismatch){ 
     textbox.setCustomValidity('Please enter your name here'); 
    } else if(textbox.validity.valueMissing){ 
     textbox.setCustomValidity('This field is required'); 
    } else { 
       textbox.setCustomValidity(''); 
    } 
    return true; 
} 

Antwort

0

Sie haben die reCaptcha verwenden zurück Antwort Anruf überprüfen. Etwa so: https://www.google.com/recaptcha/api.js?onload=reCaptchaCallback & render = explizite '>

Sie möchten auch Ihre Fehlermeldung an den von Ihnen verwendeten reCaptcha-Container anhängen.

var RC2KEY = 'sitekey', 
 
    doSubmit = false; 
 

 
function reCaptchaVerify(response) { 
 
    if (response === document.querySelector('.g-recaptcha-response').value) { 
 
     doSubmit = true; 
 
    } 
 
} 
 

 
function reCaptchaExpired() { 
 
    /* do something when it expires */ 
 
} 
 

 
function reCaptchaCallback() { 
 
    grecaptcha.render('id', { 
 
     'sitekey': RC2KEY, 
 
     'callback': reCaptchaVerify, 
 
     'expired-callback': reCaptchaExpired 
 
    }); 
 
} 
 

 
document.forms['form-name'].addEventListener('submit',function(e){ 
 
    if (doSubmit) { 
 
     /* submit form or do something else */ 
 
    } 
 
    else { 
 
     /** 
 
     * Show your error message here. 
 
     * InvalidMsg function may not work. 
 
     * recaptcha does not have properties you are checking for. 
 
     */ 
 
    } 
 
})

+0

können Sie Ihren Code nicht testen. Es gibt einen Fehler – User014019

+0

Der Code ist nur ein Beispiel. Sie müssen Ihren eigenen Formularnamen verwenden. – colecmc

+0

die Fehlermeldung wird ein Popup in der Checkbox sein? wenn es nicht aktiviert ist? – User014019