2013-02-19 178 views
1

我有一个验证组,在我与reCAPTCHA的联系页面。 我知道这是一个众所周知的问题,我也跟着指示,但每当我把验证组提交按钮RecaptchaControl_ServerValidate永远不会触发验证组验证码asp.net

 <asp:CustomValidator ID="RecaptchaValidator" runat="server" 
       OnServerValidate="RecaptchaValidator_ServerValidate" 
       ErrorMessage="Recaptcha input invalid." ValidationGroup="Uyelik" 
       EnableClientScript="False" /> 

     <recaptcha:Recaptchacontrol ID="RecaptchaControl" theme="custom" runat="server" publickey="6Lfr........." 
       customthemewidget="recaptcha_widget" privatekey="6Lfr.........." /> 

     <asp:Button ID="btnSubmit" runat="server" Text="JOIN GOBLEN SANAT" 
     OnClick="btnSubmit_Click" ValidationGroup="Uyelik"/> 

代码隐藏

protected void RecaptchaValidator_ServerValidate(object source, ServerValidateEventArgs e) 
    { 
     this.RecaptchaControl.Validate(); 
     e.IsValid = this.RecaptchaControl.IsValid; 
    } 

protected void btnSubmit_Click(object sender, EventArgs e) 
    { 

     if (Page.IsValid && RecaptchaControl.IsValid) 
     { 
     // do something 
     } 
     } 
     else 
     { 

     lblResult.Visible = true; 
     lblResult.Text = "Incorrect"; 

     } 
    } 

注:15小时后试试我管理使其工作,

关键是CustomValidator,RequiredFieldValidator,CompareValidator和validationSummary将所有验证器的EnableClientScript变为False然后它的工作。

回答

1

试试这个:

<recaptcha:RecaptchaControl ID="RecaptchaControl" runat="server" /> 

<asp:CustomValidator ID="RecaptchaValidator" runat="server" OnServerValidate="RecaptchaValidator_ServerValidate" ErrorMessage="Recaptcha input invalid." ValidationGroup="SomeValidationGroup" /> 

代码隐藏:

protected void RecaptchaValidator_ServerValidate(object sender, ServerValidateEventArgs e) 
{ 
    this.RecaptchaControl.Validate(); 
    e.IsValid = this.RecaptchaControl.IsValid; 
} 
+1

感谢您的评论,所以你要我从验证码控制移除公钥和私钥和自定义主题。除此之外,你的代码和我的一样。 – 2013-02-19 15:58:05