2013-02-19 136 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