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
Class
How can I check if captcha is also valid?
Thank you,
Bryan