最近玩了下Yii2的验证码部分,正常的逻辑都可以走通的,网上的例子也是没有问题的,关键有问题的部分是在module中使用的时候,分享给大家,往下看之前可以去看看正常情况下是如何使用的。
controller部分的代码,这里的跟网上的都类似
public function actions()
{
return [
'captcha' => [
'class' => 'yii\captcha\CaptchaAction',
'fixedVerifyCode' => null,
'backColor' => 0x000000, //背景颜色
'maxLength' => 6, //最大显示个数
'minLength' => 5, //最少显示个数
'padding' => 5, //间距
'height' => 40, //高度
'width' => 130, //宽度
'foreColor' => 0xffffff, //字体颜色
'offset' => 4, //设置字符偏移量 有效果
],
];
}
model 部分的代码【这里是需要注意的】
public function rules()
{
return [
['username', 'required', 'message' => '登录账号不能为空'],
['password', 'required', 'message' => '登录密码不能为空'],
['verifyCode', 'required', 'message' => '验证码不能为空'],
['verifyCode', 'captcha', 'captchaAction' => 'admin/default/captcha', 'message' => '验证码输入错误'],
['rememberMe', 'boolean'],
['password', 'validatePassword'],
];
}
rules中的verifyCode,需要加一个captchaAction对应的值,不然会出现验证码验证不通过,而且验证码的的数字也不会变化,原因应该是默认使用了site/captcha导致的
view部分的代码【由于php跟html的混排导致我无法忍受页面样式的混乱排版,所以尽量将参数配置部分拿出来】
$captchaConfig = [
'name' => 'captchaimg',
'captchaAction' => ['/admin/default/captcha'],
'template' => '<div class="form-group"><div>{image}</div></div>',
'imageOptions' => [
'id' => 'captchaimg',
'title' => '换一个',
'alt' => '换一个',
'style' => 'cursor:pointer;margin-left:25px;',
],
];
<?=Captcha::widget($captchaConfig);?>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
Yii2中的场景(scenario)和验证规则(rule)详解Yii2的rule用于对模型属性进行验证,scenario用户定义不同场景下需要验证的模型,下面这篇文章主要给大家介绍了关于
浅谈使用 Yii2 AssetBundle 中 $publishOptions 的正确姿势本篇文章主要介绍了浅谈使用 Yii2 AssetBundle 中 $publishOptions 的正确姿势,具有一定的参考价值,感兴趣的小伙伴们可以
Yii2中组件的注册与创建方法这篇文章主要介绍了Yii2之组件的注册与创建的实现方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
Yii2使用驼峰命名的形式访问控制器的示例代码这篇文章主要介绍了Yii2使用驼峰命名的形式访问控制器的实现方法,非常不错,具有参考借鉴价值,需要的朋友可以参
Yii2使用驼峰命名的形式访问控制器(实例讲解)下面小编就为大家带来一篇Yii2使用驼峰命名的形式访问控制器(实例讲解)。小编觉得挺不错的,现在就分享给大家,
Yii2.0实现生成二维码功能实例这篇文章主要介绍了Yii2.0实现生成二维码功能,结合实例形式分析了Yii2.0框架生成二维码所涉及的相关扩展引入步骤与