axelpal/yii2-recaptcha-widget

Yii2 Google reCAPTCHA 小部件

安装: 929

依赖项: 0

建议者: 0

安全: 0

星标: 0

关注者: 2

分支: 106

类型:yii2-extension

1.0.8 2017-05-16 10:23 UTC

This package is auto-updated.

Last update: 2024-09-05 01:08:45 UTC


README

基于 reCaptcha API 2.0。

安装

安装此扩展的首选方式是通过 composer

  • 运行以下命令之一
composer require --prefer-dist "axelpal/yii2-recaptcha-widget" "^1.0"

或者

"axelpal/yii2-recaptcha-widget" : "^1.0"

将以下内容添加到应用程序的 composer.json 文件的 require 部分。

  • 注册 reCAPTCHA API 密钥.

  • 在配置文件(web.php)中配置组件。siteKey 和 secret 参数是可选的。但如果省略它们,您需要在每个验证规则和每个希望使用此小部件的视图中设置它们。如果某个视图或验证规则中设置了 siteKey 或 secret,则将覆盖配置中的设置。

'components' => [
    'reCaptcha' => [
        'name' => 'reCaptcha',
        'class' => 'himiklab\yii2\recaptcha\ReCaptcha',
        'siteKey' => 'your siteKey',
        'secret' => 'your secret key',
    ],
    ...
  • 在您的模型中添加 ReCaptchaValidator,例如
public $reCaptcha;

public function rules()
{
  return [
      // ...
      [['reCaptcha'], \himiklab\yii2\recaptcha\ReCaptchaValidator::className(), 'secret' => 'your secret key', 'uncheckedMessage' => 'Please confirm that you are not a bot.']
  ];
}

或者

public function rules()
{
  return [
      // ...
      [[], \himiklab\yii2\recaptcha\ReCaptchaValidator::className(), 'secret' => 'your secret key']
  ];
}

或者简单地

public function rules()
{
  return [
      // ...
      [[], \himiklab\yii2\recaptcha\ReCaptchaValidator::className()]
  ];
}

用法

例如

<?= $form->field($model, 'reCaptcha')->widget(
    \himiklab\yii2\recaptcha\ReCaptcha::className(),
    ['siteKey' => 'your siteKey']
) ?>

或者

<?= \himiklab\yii2\recaptcha\ReCaptcha::widget([
    'name' => 'reCaptcha',
    'siteKey' => 'your siteKey',
    'widgetOptions' => ['class' => 'col-sm-offset-3']
]) ?>

或者

<?= $form->field($model, 'reCaptcha')->widget(\himiklab\yii2\recaptcha\ReCaptcha::className()) ?>

或者简单地

<?= \himiklab\yii2\recaptcha\ReCaptcha::widget(['name' => 'reCaptcha']) ?>

资源