How to set the validation of CAPTCHA in the registration form?
HI everyone,
I need some help. I can show the CAPTCHA in the registration form
but I cannot do the validation I wanted. I want to validate the CAPTCHA before finished the registration.
<sitefinity:TextField runat="server" DisplayMode="Read" Value='<%# Eval("emailNotice")%>' /><%@ Control Language="C#" %>
<%@ Register TagPrefix="sf" Namespace="Telerik.Sitefinity.Web.UI.Fields" Assembly="Telerik.Sitefinity" %>
<%@ Register TagPrefix="sf" Namespace="Telerik.Sitefinity.Web.UI" Assembly="Telerik.Sitefinity" %>
<%@ Register TagPrefix="sfvalidation" Namespace="Telerik.Sitefinity.Web.UI.Validation.Definitions" Assembly="Telerik.Sitefinity"%>
<fieldset class="sfregisterFormWrp">
<asp:Panel ID="formContainer" runat="server" DefaultButton="registerButton">
<ol class="sfregisterFieldsList">
<sf:TextField ID="firstName" runat="server" DataFieldName="FirstName" DataItemType="Telerik.Sitefinity.Security.Model.SitefinityProfile" DisplayMode="Write" Title="Name" CssClass="sfregisterField sfregisterFirstName" WrapperTag="li" />
<sf:TextField ID="email" runat="server" DataFieldName="Email" DisplayMode="Write" Title="<%$ Resources:Labels, Email %>" CssClass="sfregisterField sfregisterEmail" WrapperTag="li">
<ValidatorDefinition MessageCssClass="sfError" Required="true" ExpectedFormat="EmailAddress"/>
</sf:TextField>
<sf:TextField ID="userName" runat="server" DataFieldName="UserName" DisplayMode="Write" Title="<%$ Resources:Labels, UserName %>" CssClass="sfregisterField sfregisterUserName" WrapperTag="li">
<ValidatorDefinition MessageCssClass="sfError" Required="true"/>
</sf:TextField>
<sf:TextField ID="password" runat="server" DisplayMode="Write" Title="<%$ Resources:Labels, Password %>" IsPasswordMode="true" CssClass="sfregisterField sfregisterPassword" WrapperTag="li">
<ValidatorDefinition MessageCssClass="sfError" Required="true"/>
</sf:TextField>
<sf:TextField ID="reTypePassword" runat="server" DisplayMode="Write" Title="<%$ Resources:UserProfilesResources, ReTypePassword %>" IsPasswordMode="true" CssClass="sfregisterField sfregisterConfirmPassword" WrapperTag="li">
<ValidatorDefinition MessageCssClass="sfError">
<ComparingValidatorDefinitions>
<sfvalidation:ComparingValidatorDefinition ControlToCompare="password"
Operator="Equal" ValidationViolationMessage="<%$ Resources:ErrorMessages, CreateUserWizardDefaultConfirmPasswordCompareErrorMessage %>"/>
</ComparingValidatorDefinitions>
</ValidatorDefinition>
</sf:TextField>
<telerik:RadCaptcha ID="captcha" runat="server" ValidationGroup="Group" ErrorMessage="Page not valid. The code you entered is not valid." ForeColor="red" EnableRefreshImage="true" CaptchaLinkButtonText="Refresh"
CaptchaTextBoxCssClass="txtCaptcha" CaptchaTextBoxLabelCssClass="lblCaptcha"></telerik:RadCaptcha>
</ol>
<asp:Panel ID="errorsPanel" runat="server" CssClass="sfErrorSummary" Visible="false"/>
<div class="sfregisterLnkWrp" >
<asp:Button runat="server" ID="registerButton" ValidationGroup="Group" Text="<%$ Resources:UserProfilesResources, Register %>" CssClass="sfregisterSaveLnk"/>
</div>
</asp:Panel>
<sf:SitefinityLabel id="successMessageLabel" runat="server" WrapperTagName="div" CssClass="sfSuccess" />
<asp:Panel ID="configurationErrorsPanel" runat="server" CssClass="sfErrorSummary" Visible="false" >
<div runat="server" id="smtpSettingsErrorWrapper" Visible="false">
<asp:Label runat="server" id="smtpConfigurationErrorTitle" Text="<%$ Resources:ErrorMessages, CannotSendEmails %>"/>
<asp:Label runat="server" id="smtpConfigurationError"></asp:Label>
</div>
</asp:Panel>
</fieldset>
WIng
Hello,
RadCaptcha is implemented in Forms module since 6.2. You could create a registration form using the form builder and add Captcha easily.
The approach for adding Captcha to a registration widget is by making a custom widget replacing the original one. Please find the control attached. For your convenience I also have recorded a short video to demonstrate the whole process of implementation: