yii2自定义表单使用验证码

来源:互联网 发布:fifaol3数据库超级玩家 编辑:程序博客网 时间:2024/04/29 18:43

首先在控制器定义方法actions:

public function actions()    {        return [            'captcha' => [                'class' => 'yii\captcha\CaptchaAction',                 'maxLength' => 4, //最大显示个数                'minLength' => 4,            ],        ];}

前台img标签直接应用<img src="<?=Url::to(['/site/captcha'])?>" class="codeimg">
验证码即可正常显示。

在用jquery定义一个放到,每次进入页面就去请求刷新验证码。

$.get('<?php echo Yii::$app->urlManager->createUrl('site/captcha');?>?',{refresh:1},function(data){   evaldata=eval(data);   $(".codeimg").attr('src',evaldata.url);    }); 

点击图片刷新验证码:

$(document).on('click','.codeimg',function(){   $.get('<?php echo Yii::$app->urlManager->createUrl('site/captcha');?>',{refresh:1},function(data){       evaldata=eval(data);       $(".codeimg").attr('src',evaldata.url);       });})

后台验证前台传来的验证码是否正确。

#$code传来的验证码$result = $this->createAction('captcha')->validate($code, false);if($result){    echo '验证成功';}else{    echo '验证失败';}
原创粉丝点击