YII2.0使用验证码和刷新页面验证码不刷新问题

第一:生成验证码

1、PHP

public function actions()
    {
        return [
            'captcha' => [
                'class' => 'yii\captcha\CaptchaAction',
                //'fixedVerifyCode' => YII_ENV_TEST ? 'testme' : null,
                'backColor' => 0x000000,//背景颜色
                'maxLength' => 6, //最大显示个数
                'minLength' => 6,//最少显示个数
                'padding' => 5,//间距
                'height' => 30,//高度
                'width' => 130,  //宽度
                'foreColor' => 0xffffff,     //字体颜色
                'offset' => 4,        //设置字符偏移量 有效果
            ],
        ];
    }

2、HTML

<div class="form-group field-entryform-email required">
        <label class="control-label" for="entryform-email">验证码</label>
        <div>
        <input type="text" id="entryform-verifyCode" class="verifyCode" name="row[verifyCode]" aria-required="true">
        <?php echo Captcha::widget(['name'=>'captchaimg','captchaAction'=>'test/captcha',
    'imageOptions'=>['id'=>'captchaimg', 'title'=>'换一个', 'alt'=>'换一个', 'style'=>'cursor:pointer;margin-left:25px;'],'template'=>'{image}']); ?>
        </div>
        
        <div class="help-block"></div>
    </div>

3、生成验证码样式

第二:网页刷新时验证码不刷新的问题

参考:https://blog.csdn.net/ljfrocky/article/details/46121501

通过修改vendor/yiisoft/yii2/captcha/CaptchaAction.php中的代码来解决。

1、修改run方法

2、修改getVerifyCode()方法的参数默认值

猜你喜欢

转载自blog.csdn.net/a898712940/article/details/82625083
今日推荐