laravel框架——验证码(第二种方法)

摘要:
',在attributes中添加:'captcha'=˃'验证码',然后在config/app.php中修改:'locale'=˃'zh-CN',这样就完成了!

开发环境:

laravel5.5

php7.1.11

mysql

一、安装扩展包 ,安装前确认当前环境支持composer(出现如下图所示则安装成功)

$ composer require "mews/captcha:~2.0"

laravel框架——验证码(第二种方法)第1张

二、安装完成后执行:$ php artisan vendor:publish 生成配置文件config/captcha

laravel框架——验证码(第二种方法)第2张

三、视图文件代码:

<tr>
    <td>验证码</td> 
    <td><input name="captcha" type="text" placeholder="请输入验证码"></td>     
    <td>
          <img class="thumbnail captcha" src="http://t.zoukankan.com/{{ captcha_src('flat') }}" onclick="this.src='http://t.zoukankan.com/captcha/flat?'+Math.random()" title="点击图片重新获取验证码">
    </td>

代码释义:

1、captcha_src()方法是mews/captcha提供的辅助方法,用于生成验证码图片链接

2、『验证码』区块中onclick()是 JavaScript 代码,实现了点击图片重新获取验证码的功能,允许用户在验证码太难识别的情况下换一张图片试试

四、控制器检验

$code = $this->validate($request, [
'captcha' => 'required|captcha'
]);

在Auth目录下的Register控制器重写方法:

protected function validator(array $data)
    {
        return Validator::make($data,[
            'name' => 'required|string|max:255',
            'email' => 'required|string|email|max:255|unique:users',
            'password' => 'required|string|min:6|confirmed',
            'captcha'=>'required|captcha',],[
            'captcha.required' => '验证码不能为空',
            'captcha.captcha' => '请输入正确的验证码',]);
    }

由于captcha在中文包中没有中文解释,所以需要手动添加中文解释,具体操作如下:

首先下载字体库:

链接: https://pan.baidu.com/s/1YhtjKc6bpWGHCNRxhnSmKg

提取码: mrxv

然后解压缩将src目录下的zh-CN放入resources目录下然后在validation.php中添加

在return中添加:'captcha' => ':attribute 不正确。',

在 attributes中添加:'captcha' => '验证码',

然后在config/app.php中修改:'locale' => 'zh-CN',

这样就完成了!

免责声明:文章转载自《laravel框架——验证码(第二种方法)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇PyTorch实现Seq2Seq机器翻译c# 如何获取项目的根目录下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

关于ArcMap中的地图文档单位

在ArcMap中地图文档的单位有度分秒、千米、米、十进制等很多种,但是ArcMap中的测量距离功能的实现必须建立在图层框架具有投影坐标系的情况下才能进行正确的计算,否则是不能进行的,IPolyline的Lenth属性获取的单位为十进制,需要转换成米。...

配置nginx

aNULL:!MD5:!...

Notepad++正则表达式查找替换文本中文字符

测试需求测试工具中xml配置文件中的注释字段包含中文字符。Win10系统中使用的工具中偶尔会出现中文乱码,导致配置文件无效。解决方案是将配置文件中的中文注释替换为英文注释,或者直接替换和删除。如何查找和删除配置文件中的汉字?“记事本”中使用正则表达式[^x00 xff]来匹配汉字。替换完成如下3。所有汉字已被替换。...

beego

Charset=utf8“)56//参数4(可选)设置最大空闲连接7//参数5modelorm.RegisterModelRegisterModelWithPrefix。使用表名前缀orm.RegisterModelWithPrefixbeego自动创建表。1//参数1使用默认数据库ORM接口使用1//查询操作2funread(){3o:=ORM.NewOr...

Json对象转Ts类

其次,Json是一种轻量级的数据交换格式。在前端和后端之间的数据交互过程中,后端接口返回Json格式的数据,前端需要使用相应的Ts类对象来接收它。此时,如果后端提供样本数据或现有接口返回的Json格式数据,是否有方法帮助我们从Json格式数据生成Ts类?介绍了三个主要功能。1.查看Json对应的Ts类,将要格式化的Json字符串复制粘贴到中间编辑区域。单击右...

愿你走出半生,归来仍是Java Parser

几天前,我的一个朋友给了我一个Haskell问题嘿,MK。假设我有一个BNF,我在Haskell中有一个这个BNF的解析器。现在,我想为这个BNF换一条线。是否有任何方法可以在不接触BNF解析器代码的情况下扩展BNF解析器?让我们想想,这个x是什么样的变体?请记住,传入的参数不是self,而是super。好了,openrecursion已经准备好了,剩下的是...