Google Yii1.1.6 上的 reCAPTCHA v2 未显示

Google reCAPTCHA v2 on Yii1.1.6 not shown

我正尝试在我使用 Yii 1.1.6 的项目上制作 google reCaptcha。

而且我已经遵循了此文档 https://github.com/dakiquang/yiiReCaptcha。但是我的 google reCaptcha 没有显示。

有人可以帮忙吗?

这是我的 loginForm.php 个模型

class LoginForm extends CFormModel
{
    public $username;
    public $password;
    public $rememberMe;
    public $verifyCode;

    private $_identity;

    /**
     * Declares the validation rules.
     * The rules state that username and password are required,
     * and password needs to be authenticated.
     */
    public function rules()
    {
        return array(
            // username and password are required
            array('username, password', 'required'),
            // rememberMe needs to be a boolean
            array('rememberMe', 'boolean'),
            // password needs to be authenticated
            array('password', 'authenticate'),
            array('verifyCode', 'required'),
            array('verifyCode', 'ext.yiiReCaptcha.ReCaptchaValidator'),
        );
    }

    /**
     * Declares attribute labels.
     */
    public function attributeLabels()
    {
        return array(
            'username' => 'Email',
            'password' => 'Password',
            'verifyCode' => 'Verification Code',
            'rememberMe' => 'Remember me',
        );
    }
}

这是我的登录视图 login.php

<div class="form-group has-feedback">
          <?php
          $this->widget('ext.yiiReCaptcha.ReCaptcha', array(
            'model'     => $model,
            'attribute' => 'verifyCode',
          ));
          ?>
</div>

另外我已经在 protected/config

上更改了 main.php
'components' => array(
        'reCaptcha' => array(
            'name' => 'reCaptcha',
            'class' => 'ext.yiiReCaptcha.ReCaptcha',
            'key' => 'my-key-in-here',
            'secret' => 'my-key-in-here',
        ),
)

拜托,有人可以解决这个问题吗? 之前谢谢你。

最后,我用一个笨办法解决了这个问题。 所以我添加这段代码 <script src="https://www.google.com/recaptcha/api.js" async defer></script> 在表格上方。 并使用此代码 <div class="g-recaptcha" data-sitekey="6LddDZgbAAAAAArLBzXYH0RQ7MMExsp4fbmNVhNf"></div> 呈现验证码。

成功了!