This demo illustrates the primary features of the DevExpress ASP.NET Captcha (ASPxCaptcha) control.
The ASPxCaptcha is a CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart) control used to verify that data is submitted by a human, and not a robot or script. The ASPxCaptcha control can be used to effectively prevent comment spam on blogs, automated voting in online polls, and automatic creation of user accounts.
The main functional elements of the ASPxCaptcha control are the Challenge Image, the Refresh Button and the Text Box. The ASPxCaptcha control offers a flexible way to customize its appearance and layout by setting up these individual elements.
A Challenge Image is an automatically generated image displaying random text. It presents a challenge to an end-user, which can easily be solved by a human, but difficult for a computer. The Challenge Image settings can be customized using the ChallengeImage property. To define a set of characters from which random text should be generated, use the control's CharacterSet property. You can control the number of characters to be displayed within the Challenge Image using the CodeLength property.
The ASPxCaptcha control's Refresh button allows an end-user to change the code displayed by the Challenge Image. This is useful when the currently displayed code cannot be easily recognized by the user. To control the content and appearance of the Refresh button, use the RefreshButton and RefreshButtonStyle properties.
If the EnableCallbacks property is set to true, clicking the Refresh Button sends a callback to generate and display another challenge code. To specify the settings of the loading panel displayed during callbacks, use the LoadingPanel, LoadingPanelImage and LoadingPanelStyle properties.
The Text Box element of the ASPxCaptcha control allows end-users to input the text displayed in the Challenge Image. When a user submits information to the server, the ASPxCaptcha control verifies whether or not the text was input by a human. Use the IsValid property to determine if the entered text coincides with the automatically generated code.
To customize the content and layout of the Text Box element, use the TextBox property. The element's appearance can be defined using properties available via the TextBoxStyle property. The text box element has a built-in validation mechanism whose behavior can be customized using the settings accessed via the ValidationSettings property. Its SetFocusOnError setting controls whether input focus can forcibly be moved back to the text box element if an input value is invalid.