yii2自定义表单使用验证码

xiaoxiao2021-02-28  94

首先在控制器定义方法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 '验证失败'; }
转载请注明原文地址: https://www.6miu.com/read-62610.html

最新回复(0)