A reCAPTCHA Validator for Laravel 4.
Add the following line to the require
section of composer.json
:
{
"require": {
"greggilbert/recaptcha": "dev-master"
}
}
- Add
Greggilbert\Recaptcha\RecaptchaServiceProvider
to the service provider list inapp/config/app.php
. - Run
php artisan config:publish greggilbert/recaptcha
. - In
app/config/packages/greggilbert/recaptcha/config.php
, enter your reCAPTCHA public and private keys. - Add the following line into
app/lang/[lang]/validation.php
:
"recaptcha" => 'The :attribute field is not correct.',
- In your form, use
Form::captcha()
to echo out the markup. - In your validation rules, add the following:
$rules = array(
// ...
'recaptcha_response_field' => 'required|recaptcha',
};
It's also recommended to add required
when validating.
reCAPTCHA allows for customization of the widget through a number of options, listed at the official documentation. You can configure the output of the captcha in several ways.
In the config.php
, you can create an options
array to set the default behavior. For example:
// ...
'options' => array(
'theme' => 'white',
),
would default all the reCAPTCHAs to the white theme. If you want to further customize, you can pass options through the Form option:
echo Form::captcha(array('theme' => 'blackglass'));
Alternatively, if you want to set a default template instead of the standard one, you can use the config:
// ...
'template' => 'customCaptcha',
or you can pass it in through the Form option:
echo Form::captcha(array('template' => 'customCaptcha'));
Options passed into Form::captcha
will always supercede the configuration.
To change the language of the captcha, simply pass in a language as part of the options:
'options' => array(
'lang' => 'fr',
),
You can do this both in the config and through the Form::captcha()
call.