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...
          })