Download the PHP package manchenkov/yii2-recaptcha3 without Composer
On this page you can find all versions of the php package manchenkov/yii2-recaptcha3. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download manchenkov/yii2-recaptcha3
More information about manchenkov/yii2-recaptcha3
Files in manchenkov/yii2-recaptcha3
Package yii2-recaptcha3
Short Description Yii 2 extension to work with Google reCAPTCHA v3
License MIT
Informations about the package yii2-recaptcha3
Yii 2 reCAPTCHA v3
This package is a simple extension for Yii 2 which helps to work with Google reCAPTCHA v3
- Installation
- Usage
- Basic
- AJAX validation
- Twig integration
- Localization
- Hiding Google reCaptcha badge
Installation
You have to run the following command to add a dependency to your project
or you can add this line to require
section of composer.json
Usage
Basic setup
In first, you have to add the following settings into your application params section (usually params.php
file).
Then you should add the rules as below to validate the model
- score: minimal value of acceptance score (default: 0.5)
- action: page action name (default: homepage)
- message: error message to display (see Localization section below)
The last step is an adding ActiveForm input, just use the next example:
AJAX Validation
Default behaviour may cause some problems with AJAX validation because Google recommends to request captcha token just before submitting form, see documentation
In this case Yii controller will receive the empty value and give you validation error.
To solve this problem ReCaptchaWidget supports additional attribute - preloading'.
You should use the following example in your views files
IMPORTANT
You can't use enableAjaxValidation without disabling validateOnBlur and validateOnChange because default yiiActiveForm.js plugin submits a form for validation purpose automatically and without any events, so reCaptcha token wouldn't be refreshed.
Usage with Twig
If You use Twig as a template engine, you can create helper function like this:
and then use it in the .twig templates without ActiveForm
Localization
If any error occurs during the validation or sending request via HTTP client, the default error message will be "Google reCAPTCHA verification failed". Input widget uses default i18n localization to print it to the page, so you can add a translation for the next message:
Hiding Google Privacy badge
By default, Google reCAPTCHA v3 print a badge in the right bottom corner of the page, but You can hide it by using the following example
In this case, input hint will contain default message recommended by Google,
but you can change it by using of field(...)->widget(...)->hint('Custom Google captcha message')
Anyway, You have to include some mentioning text in your form, see details here