Captcha
Bootstrap 5 Captcha plugin
Captcha is a form validation component based on Recaptcha. It protects you against spam and
other types of automated abuse.
Official documentation.
Note: Read the API tab to find all available options and advanced customization
Note: Currently, the plugin is only compatible with the basic MDB package imported in UMD format. More about import MDB formats.
Basic example
Note: You need to include Google API script in your project in order to Captcha to work.
<script src="https://www.google.com/recaptcha/api.js"></script>
<div class="captcha" data-mdb-captcha-init data-mdb-sitekey="YOUR_SITEKEY"></div>
Dark theme example
You can use dark theme by adding data-mdb-theme="dark"
.
<script src="https://www.google.com/recaptcha/api.js"></script>
<div class="captcha" data-mdb-captcha-init data-mdb-sitekey="YOUR_SITEKEY" data-mdb-theme="dark"></div>
Captcha - API
Import
import Captcha from 'mdb-captcha';
@import '~mdb-captcha/css/captcha.min.css';
Usage
Via data attributes
Using the Captcha plugin doesn't require any additional JavaScript code - simply add
data-mdb-captcha-init
attribute to
.captcha
and use other data attributes to set all options.
<div class="captcha" data-mdb-captcha-init data-mdb-sitekey="YOUR_SITEKEY"></div>
Via JavaScript
const element = document.querySelector('.captcha');
const instance = new Captcha(element);
Via jQuery
Note: By default, MDB does not include jQuery and you have to add it to the project on your own.
$(document).ready(() => {
$('.captcha').captcha();
});
Options
Options can be passed via data attributes or JavaScript. For data attributes, append the option name to
data-mdb-
, as in data-mdb-sitekey=""
.
Name | Type | Values | Default | Description |
---|---|---|---|---|
sitekey
|
String | - | '' |
Required. Defines your sitekey. |
theme |
String |
'light' 'dark' |
'light' |
Optional. Defines theme for Captcha. |
size
|
String |
'normal' 'compact' |
'normal' |
Optional. Defines the size of the widget. |
tabindex
|
Number | - | 0 |
Optional. Defines the tabindex of the widget and chellenge. If other elements in your page use tabindex, it should be set to make user navigation easier. |
lang
|
String | 'pl', 'en', 'es' etc. | 'en' |
Optional. Defines the language of the widget. |
Methods
Name | Parameters | Description | Example |
---|---|---|---|
reset |
- | Reset the Captcha plugin | instance.reset() |
getResponse |
- | Returns Captcha response key |
instance.getResponse()
|
dispose
|
Removes the mdb.Captcha instance. |
instance.dispose()
|
|
getInstance
|
element | Static method which allows to get the captcha instance associated with a DOM element. |
mdb.Captcha.getInstance(element)
|
const captchaElement = document.querySelector('.captcha');
const instance = Captcha.getInstance(captchaElement);
instance.reset()
Events
Name | Description |
---|---|
captchaExpire.mdb.captcha
|
This event is emitted when CAPTCHA encounters an error. |
captchaError.mdb.captcha
|
This event is emitted when CAPTCHA response expires and the user needs to solve a new CAPTCHA. |
captchaSuccess.mdb.captcha
|
This event is emitted when user submits a successful CAPTCHA response. |
document.querySelector('.captcha').addEventListener('captchaExpire.mdb.captcha', (e) => {
// do something...
})