anhskohbo / no-captcha

CAPTCHAFORUM

Administrator
1c426412-7b88-11e4-8d16-46161a081ece[1].gif


Installation
composer require anhskohbo/no-captcha

Setup
NOTE This package supports the auto-discovery feature of Laravel 5.5 and above, So skip these Setup instructions if you're using Laravel 5.5 and above.

In app/config/app.php add the following :

1- The ServiceProvider to the providers array :
Anhskohbo\NoCaptcha\NoCaptchaServiceProvider::class,

2- The class alias to the aliases array :
'NoCaptcha' => Anhskohbo\NoCaptcha\Facades\NoCaptcha::class,

3- Publish the config file

php artisan vendor:publish --provider="Anhskohbo\NoCaptcha\NoCaptchaServiceProvider"

Configuration
Add NOCAPTCHA_SECRET and NOCAPTCHA_SITEKEY in .env file :

Code:
NOCAPTCHA_SECRET=secret-key

NOCAPTCHA_SITEKEY=site-key

(You can obtain them from here)

Usage
Init js source
With default options :
{!! NoCaptcha::renderJs() !!}

With language support or onloadCallback option :

{!! NoCaptcha::renderJs('fr', true, 'recaptchaCallback') !!}

Display reCAPTCHA
Default widget :
{!! NoCaptcha::display() !!}

With custom attributes (theme, size, callback ...) :
{!! NoCaptcha::display(['data-theme' => 'dark']) !!}

Invisible reCAPTCHA using a submit button:
{!! NoCaptcha::displaySubmit('my-form-id', 'submit now!', ['data-theme' => 'dark']) !!}

Notice that the id of the form is required in this method to let the autogenerated callback submit the form on a successful captcha verification.

Validation
Add 'g-recaptcha-response' => 'required|captcha' to rules array :
Code:
$validate = Validator::make(Input::all(), [

'g-recaptcha-response' => 'required|captcha'

]);

Custom Validation Message
Add the following values to the custom array in the validation language file :
Code:
'custom' => [

    'g-recaptcha-response' => [

        'required' => 'Please verify that you are not a robot.',

        'captcha' => 'Captcha error! try again later or contact site admin.',

    ],

],

Then check for captcha errors in the Form :
Code:
@if ($errors->has('g-recaptcha-response'))

    <span class="help-block">

        <strong>{{ $errors->first('g-recaptcha-response') }}</strong>

    </span>

@endif

Documentation https://packagist.org/packages/anhskohbo/no-captcha