欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

yii20验证码不能随网页一起刷新/出现site/captcha的错误

程序员文章站 2022-05-20 20:55:52
...
1.不能随网页刷新而刷新的错误解决办法:
修改源代码 vendor/yiisoft/yii2/captcha/CaptchaValidator.php
/**
     * @inheritdoc
     */publicfunctionclientValidateAttribute($object, $attribute, $view)
    {$captcha = $this->createCaptchaAction();
        $code = $captcha->getVerifyCode(true);
        $hash = $captcha->generateValidationHash($this->caseSensitive ? $code : strtolower($code));
        $options = [
            'hash' => $hash,
            'hashKey' => 'yiiCaptcha/' . $captcha->getUniqueId(),
            'caseSensitive' => $this->caseSensitive,
            'message' => Yii::$app->getI18n()->format($this->message, [
                'attribute' => $object->getAttributeLabel($attribute),
            ], Yii::$app->language),
        ];
        if ($this->skipOnEmpty) {
            $options['skipOnEmpty'] = 1;
        }

        ValidationAsset::register($view);

        return'yii.validation.captcha(value, messages, ' . json_encode($options, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE) . ');';
    }
}
$code=$captcha->getVerifyCode(false); false改成true

另外出现
yii20验证码不能随网页一起刷新/出现site/captcha的错误
解决方法:
在 model中修改captchaAction的值

    ['verifyCode', 'captcha','message' =>'验证码错误','captchaAction'=>'login/captcha'],

在view中:

= $form->field($loginForm, 'verifyCode',['options'=>['class' => 'form-group']])->widget(Captcha::className(),[
                'captchaAction' => '/login/captcha',
                'imageOptions' => ['alt'=>'点击换图','title'=>'点击换图','style'=>'cursor:pointer'],
                'options' => [
                    'placeholder' => '验证码',
                    'class' => 'form-control',
                    'style' => 'margin-top:10px;'
                ]
            ])->label(false); ?>
').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });

以上就介绍了 yii20验证码不能随网页一起刷新/出现site/captcha的错误,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。