最近玩了下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中添加验证码的实现方法,包括了yii2中添加验证码的实现方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了yii2中添加验证码的实现方法。分享给大家供大家参考,具体如下: 首先,在模型中添加验证码字段: 其次,可以在函数attributeLabels中添加前台页面中验证码的字段名称: 然后,在视图文件中做如下修改: 希望本文所述对大家基于Yii框架的PHP程序设计有
(1). 配置路由 配置路由 myobject/myadmin/urls.py 加入如下代码 .... # 后台管理员路由 url(r'^login$', index.login, name="myadmin_login"), url(r'^dologin$', index.dologin, name="myadmin_dologin"), url(r'^log
本文向大家介绍Yii2增加验证码步骤详解,包括了Yii2增加验证码步骤详解的使用技巧和注意事项,需要的朋友参考一下 本来以为yii2框架验证码这块很全面,尝试百度google了一下,大多数教程写的零零散散不全面,想着自己写一份带有完整步骤的验证码教程。 我们假设site/login 表单登录需要增加验证码。 1、siteController控制器的actions方法增加captcha设置 上面我们
本文向大家介绍YII2框架中验证码的简单使用方法示例,包括了YII2框架中验证码的简单使用方法示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了YII2框架中验证码的简单使用方法。分享给大家供大家参考,具体如下: 验证码的使用是比较频繁的。YII2中已经帮我们做好了封装。 首先我们在控制器里创建一个actions方法,用于使用yii\captcha\CaptchaAction 显示页面代
def validate_mobile_number(value):如果不是str(value).isdigit():引发ValidationError(“请输入有效的手机号码”)类ModelA(AbstractUser): mobile=models.CharField(u(“mobile”),unique=True,max_length=10,验证器[validate_mobile_numbe
问题内容: 我正在尝试编写一个向指令添加验证属性的角度指令,但是它似乎没有用。这是我的演示。您将注意到,如果删除第二个输入框中的文本,则“有效”保持为true,但是如果删除第一个输入框中的文本,则为false。 http://plnkr.co/edit/Rr81dGOd2Zvio1cLYW8D?p=preview 这是我的指令: 我猜我只是缺少一些简单的东西。 问题答案: 在表单的编译阶段将读取所