I have form that uses validation summary, textbox (with required validator and custom validator), captcha and submit button. All validators, including captcha are using group. EnableClientScript=False. The custom validator does a sever side check to see if email is in system.
If the custom validator is false the Capthca validator also works, but if custom validator is true then captcha never validates. I am assuming I need to fire server side validation for Captcha, but not sure how I should do it.
Here is page
Here is code behind
How can I check if captcha is also valid?
Thank you,
Bryan
If the custom validator is false the Capthca validator also works, but if custom validator is true then captcha never validates. I am assuming I need to fire server side validation for Captcha, but not sure how I should do it.
Here is page
<%@ Page Language="VB" Title="Password Recovery" MasterPageFile="~/Default.master" Theme="Default" AutoEventWireup="false" CodeFile="PasswordRecovery.aspx.vb" Inherits="PasswordRecovery" %><asp:Content ID="Content1" ContentPlaceHolderID="navigationcontent" Runat="Server"> <a class="navigationitem" href="default.aspx">Home</a></asp:Content><asp:Content ID="Content2" ContentPlaceHolderID="body" Runat="Server"> <div class="contentbox1" style="width: 350px;"> <h2>Password Recovery</h2> <div class="contentbox2"> <asp:literal ID="litins" runat="server" Text="Enter your email to receive password recover information.<br /><br />" /> <div class="contentbox3"> <asp:Panel ID="pan1" runat="server"> <div> <asp:ValidationSummary ID="ValidationSummary1" runat="server" ValidationGroup="SubmitInfo" EnableClientScript="False" HeaderText="Please correct the following errors:" /> </div> <table border="0" cellpadding="2" cellspacing="2"> <tr> <td>Email:</td> <td> <asp:TextBox ID="txtemail" runat="server" Width="200px" /> <asp:RequiredFieldValidator ID="rfv1" runat="server" EnableClientScript="false" ValidationGroup="SubmitInfo" ControlToValidate="txtemail" ErrorMessage="Please fill in email." Display="Dynamic" Text="*"/><asp:CustomValidator ID="cvEmail" runat="server" ErrorMessage="Email does not exist in the system." Display="Static" ControlToValidate="txtEmail" Text="*" ValidationGroup="SubmitInfo" ValidateEmptyText="false" EnableClientScript="false"></asp:CustomValidator> </td> </tr> <tr> <td> </td> <td> </td> </tr> <tr> <td> </td> <td> <telerik:RadCaptcha ID="radc1" runat="server" CaptchaImage-BackgroundNoise="Medium" CaptchaImage-FontWarp="Medium" CaptchaImage-LineNoise="Low" CaptchaImage-TextLength="6" Enabled="true" CssClass="captcha" EnableRefreshImage="true" IgnoreCase="true" Visible="true" ToolTip="Code is not case sensitive" CaptchaTextBoxLabel="<br />Type the code from the image<br />(not case sensitive)<br />" CaptchaImage-TextChars="Letters" BorderStyle="Solid" BorderWidth="1" BorderColor="#0099CC" CaptchaImage-CharSet="ABCDEFGHJKLMNOPQRSTUVWXYZ" CaptchaImage-UseRandomFont="False" ValidationGroup="SubmitInfo" ErrorMessage="The code you entered is not valid." Display="None"/> </td> </tr> <tr> <td colspan="2" align="right"> <asp:Button ID="btnsubmit" runat="server" text="Send" ValidationGroup="SubmitInfo" CausesValidation="true" /> </td> </tr> </table> </asp:Panel> <asp:Panel ID="pan2" runat="server" Visible="false"> <div style="padding:20px 0px 20px 0px;"> An email has been sent. Please follow the instructions in the email to recover your password. </div> </asp:Panel> </div> </div> </div> <div style="clear: both;"></div> <!-- Begin DigiCert/ClickID site seal HTML and JavaScript --><div id="DigiCertClickID_OzSLC-hR" data-language="en_US" style="width: 100px; margin: 5px 5px 5px auto;"> <a href="http://www.digicert.com/ev-ssl-certification.htm">SSL Certificates</a></div><script type="text/javascript"> var __dcid = __dcid || []; __dcid.push(["DigiCertClickID_OzSLC-hR", "7", "m", "black", "OzSLC-hR"]); (function () { var cid = document.createElement("script"); cid.async = true; cid.src = "//seal.digicert.com/seals/cascade/seal.min.js"; var s = document.getElementsByTagName("script"); var ls = s[(s.length - 1)]; ls.parentNode.insertBefore(cid, ls.nextSibling); } ());</script><!-- End DigiCert/ClickID site seal HTML and JavaScript --> <div style="clear: both;"></div></asp:Content>Here is code behind
Partial Class PasswordRecovery Inherits System.Web.UI.Page Sub clickhere(ByVal sender As Object, ByVal e As EventArgs) Handles btnsubmit.Click Dim mm As Net.Mail.MailMessage = New Net.Mail.MailMessage() Dim smtpClient As Net.Mail.SmtpClient = New Net.Mail.SmtpClient() Dim body As String = "" Dim group As String = "" Dim toadd As Net.Mail.MailAddress Dim catchaText Try toadd = New Net.Mail.MailAddress(txtemail.Text) cvEmail.IsValid = True Catch ex As Exception cvEmail.IsValid = False 'lblerror.Visible = True 'lblerror.Text = "Invalid Email" Exit Sub End Try Dim mu As MembershipUser Dim userName As String = "" Try userName = Membership.GetUserNameByEmail(txtemail.Text) mu = Membership.GetUser(userName) cvEmail.IsValid = True Catch ex As Exception cvEmail.IsValid = False 'lblerror.Visible = True Exit Sub End Try Dim ut As New UserToken ut.UserID = mu.ProviderUserKey ut.DateIssued = Now ut.Token = Guid.NewGuid ut.AddUserToken() Dim expdate As DateTime = ut.DateIssued.AddHours(48) Dim fromadd As New Net.Mail.MailAddress("Password-Recovery@wishfamilyjournal.org") Dim fromaddress As String = ConfigurationManager.AppSettings("ServerSendAddress").ToString mm = New Net.Mail.MailMessage(fromadd, toadd) mm.Subject = "WISH Family Journal Password Recovery" mm.Body = "A request to change your password has been issued.<br/><br/>" & _ "Please <a href='" & ConfigurationManager.AppSettings("SiteUrl").ToString & "passwordreset.aspx?token=" & ut.Token.ToString & "'>CLICK HERE TO CHANGE YOUR PASSWORD</a><br/><br/>" & _ "This link is only valid for 48 hours (" & expdate.ToShortDateString & " " & expdate.ToShortTimeString & "). If you did not request a password change please ignore this email<br/><br/>" & _ "If you have any problems or questions please respond to this email.<br/><br/>" & _ "Thank you<br/>" & _ "WISH Family Journal Administrator" mm.IsBodyHtml = True smtpClient.Timeout = 5000 smtpClient.Send(mm) mm.Dispose() pan1.Visible = False pan2.Visible = True litins.Visible = False End Sub End ClassHow can I check if captcha is also valid?
Thank you,
Bryan