DEV Community

Cover image for Add Captcha On Laravel Forms
Arman Rahman
Arman Rahman

Posted on

Add Captcha On Laravel Forms

To add Captcha to Laravel form without any API Connection

Image description

Install mews/captcha



composer require mews/captcha


Enter fullscreen mode Exit fullscreen mode

Find the providers key in config/app.php and register the Captcha Service Provider. for for Laravel 5.1+



'providers' => [
        // ...
        Mews\Captcha\CaptchaServiceProvider::class,
    ]


Enter fullscreen mode Exit fullscreen mode

Find the aliases key in config/app.php.



'aliases' => [
        // ...
        'Captcha' => Mews\Captcha\Facades\Captcha::class,
    ]


Enter fullscreen mode Exit fullscreen mode

publish mews/captcha by running -



$ php artisan vendor:publish


Enter fullscreen mode Exit fullscreen mode

Add this to .env to disable captcha



CAPTCHA_DISABLE=true


Enter fullscreen mode Exit fullscreen mode

Add this on laravel blade



 //register.blade.php
    <img src="{{ captcha_src() }}" alt="captcha">
        <div class="mt-2"></div>
        <input 
            type="text" name="captcha" class="form-control @error('captcha') is-invalid @enderror" placeholder="Please Insert Captch"
            >
         @error('captcha') 
         <div class="invalid-feedback">{{ $message }}</div> @enderror 


Enter fullscreen mode Exit fullscreen mode

in controller validate like this -



$request->validate([
'captcha' => 'required|captcha'
],[],[
     'captcha.required' => 'Captcha is required',
     'captcha.captcha' => 'Captcha is invalid',
])


Enter fullscreen mode Exit fullscreen mode

Top comments (0)