V5.1.15+版本开始,可以使用下面的指令快速生成User验证器。
php think make:validate index/User
可以直接在验证器类中使用message属性定义错误提示信息,例如:
namespace app\index\validate;use think\Validate;class User extends Validate{protected $rule = ['name' => 'require|max:25','age' => 'number|between:1,120','email' => 'email',];protected $message = ['name.require' => '名称必须','name.max' => '名称最多不能超过25个字符','age.number' => '年龄必须是数字','age.between' => '年龄只能在1-120之间','email' => '邮箱格式错误',];}
为具体的验证场景或者数据表定义好验证器类,直接调用验证类的check方法即可完成验证,下面是一个例子:
数据验证
在需要进行User验证的控制器方法中,添加如下代码即可:
namespace app\index\controller;use think\Controller;class Index extends Controller{public function index(){$data = ['name' => 'thinkphp','email' => 'thinkphp@qq.com',];$validate = new \app\index\validate\User;if (!$validate->check($data)) {dump($validate->getError());}}}
具体请查看 http://www.shouce.ren/api/view/a/15680 验证
验证数据
下面是一个典型的验证数据的例子:
$rule = ['name' => 'require|max:25','age' => 'number|between:1,120','email' => 'email',];$msg = ['name.require' => '名称必须','name.max' => '名称最多不能超过25个字符','age.number' => '年龄必须是数字','age.between' => '年龄只能在1-120之间','email' => '邮箱格式错误',];$data = ['name' => 'thinkphp','age' => 10,'email' => 'thinkphp@qq.com',];$validate = Validate::make($rule,$msg);$result = $validate->check($data);if(!$result) {dump($validate->getError());}
二、使用缓存
// 使用Redis缓存Cache::store('redis')->set('name','value',3600);Cache::get('name');参考 http://www.shouce.ren/api/view/a/15689 缓存设置
1. 缓存使用:
1> 设置缓存
设置缓存有效期
Cache::set('name',$value,3600);
2. session 驱动
支持指定 Session 驱动,配置文件如下:
return ['type' => 'redis','prefix' => 'module','auto_start' => true,// redis主机'host' => '127.0.0.1',// redis端口'port' => 6379,// 密码'password' => '',]
表示使用redis作为session类型。
三、分页的使用
ThinkPHP5.1内置了分页实现,要给数据添加分页输出功能变得非常简单,可以直接在Db类查询的时候调用paginate方法:
// 查询状态为1的用户数据 并且每页显示10条数据$list = Db::name('user')->where('status',1)->paginate(10);// 把分页数据赋值给模板变量list$this->assign('list', $list);// 渲染模板输出return $this->fetch();
也可以改成模型的分页查询代码:
// 查询状态为1的用户数据 并且每页显示10条数据$list = User::where('status',1)->paginate(10);// 把分页数据赋值给模板变量list$this->assign('list', $list);// 渲染模板输出return $this->fetch();
模板文件中分页输出代码如下:
<div><ul>{volist name='list' id='user'}<li> {$user.nickname}</li>{/volist}</ul></div>{$list|raw}
四、验证码的使用
参照 http://www.shouce.ren/api/view/a/15704 扩展库里的 验证
本文介绍ThinkPHP5.1版本中数据验证器的使用方法,包括定义验证规则、错误提示信息及实际应用示例。此外还涵盖了缓存、分页和验证码等功能的实现方式。
347

被折叠的 条评论
为什么被折叠?



