Spam check widget for Yii2, based on Google reCAPTCHA API v3.
The preferred way to install this extension is through composer.
Either run
php composer.phar require --prefer-dist xstreamka/yii2-recaptcha-widget "*"
or add
"xstreamka/yii2-recaptcha-widget": "*"
to the require section of your composer.json
file.
Further:
- Sign up for an reCAPTCHA API keys.
- Configure the component in your configuration file (
frontend/config/main.php
):
'components' => [
...
'reCaptcha' => [
'class' => 'xstreamka\recaptcha\ReCaptchaConfig',
'siteKeyV3' => 'your siteKey v3',
'secretV3' => 'your secret key v3',
],
...
]
Once the extension is installed, simply use it in your code by:
<?php $form = ActiveForm::begin(); ?>
...
<?= \xstreamka\recaptcha\ReCaptcha::widget(); // added hidden input ?>
...
<?php ActiveForm::end(); ?>
this will add a hidden field to your form.
For form validation use:
<?= \xstreamka\recaptcha\ReCaptcha::validate(); ?>
this is called after POST request.
$model = new QuestionForm();
if ($model->load(Yii::$app->request->post()) && $model->validate() && \xstreamka\recaptcha\ReCaptcha::validate()) {
...
}