Реализован флажок Google Recpatcha V2 в веб-форме.Но при отправке он выдает «Недопустимый аргумент обратной или обратной связи».
Пожалуйста, кто-нибудь может помочь отразить некоторый взгляд на проблему.
Есть ли лучший способ реализации Google Captcha V2 - флажок вВеб-форма в панели динамически.
//Dynamically add Google Recaptcha
void Page_Load()
{
.......
FormSystem.Controls.Add(INSERT THE BELOW HTML CODE VIA HTML CONTROL);
//Basically inserting the below HTML into a ASP Panel
<div class="fieldInput">
<script src="https://www.google.com/recaptcha/api.js?onload=renderFormRecaptcha&render=explicit"></script>
<script type="text/javascript">
var renderFormRecaptcha = function () { grecaptcha.render('formReCaptchaContainer', { 'sitekey': 'XXXXXXX', 'callback': formReCaptchaCallback, theme: 'light', type: 'image', size: 'normal' });};
var formReCaptchaCallback = function (response) {};
</script>
<div id="formReCaptchaContainer"></div>
<div class="g-recaptcha" data-sitekey="XXXXXXX"></div>
<div class="fieldValidation"><span id="rqd_Captcha" class="inputError" style="display:none;">Required</span></div>
</div>
...
}
//Front end validation script on submission
if (typeof (grecaptcha) != 'undefined')
{
googleCaptcha = grecaptcha.getResponse();
if(googleCaptcha.length <= 0)
{
$("#rqd_Captcha").css("display","inline-block");
validForm = validForm && false;
}
else
{
$("#rqd_Captcha").css("display","none");
validForm = validForm && true;
}
}
//Server side validation
protected void formSubmit_Click(object sender, EventArgs e)
{
....
using (WebClient webClient = new WebClient())
{
webClient.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
googleRecaptchaResponse = webClient.UploadString("https://www.google.com/recaptcha/api/siteverify", "secret=" + cms.GetConfigData("grecaptchasecretkey") + "&response=" + Request.Form["g-recaptcha-response"]);
//Check captcha response
}
....
}