abstract:<?php namespace app\Validate; use think\Validate; //继承框架的验证叫验证器模式; class Admin extends Validate { //验证规则; protected $rule = [ 'qq' =>&n
<?php namespace app\Validate; use think\Validate; //继承框架的验证叫验证器模式; class Admin extends Validate { //验证规则; protected $rule = [ 'qq' => 'require|length:4,10', //长度要求4-10; 'password' => 'require|length:4,8', //'sex' => 'in:0,1'; //范围0-1之间; //'money' => 'require|gt:2000'; //大于2000; ]; protected $message = [ 'qq.require' => 'qq长度必须在4到10之间', 'password' => '密码长度必须在4到8之间', ]; }
<?php namespace app\index\controller; use think\Controller; use app\validate\Admin; //导入验证器; // 数据验证; class Verify extends Controller //无法继承两个类,所以另一个就用依赖注入; { public function demo(Admin $validate ){ $data = [ 'qq' => 'longzhu', 'password' => 12345678, ]; // $validate = new Admin(); //->可以用依赖注入; if($validate->check($data)){ return '验证通过'; }else{ dump($validate->getError()); } } //验证器模式 ,推荐使用; public function demo2(){ $data = [ 'qq' => 'longzhu', 'password' => 123245678, ]; $rule = 'app\validate\Admin'; $res = $this->validate($data,$rule); //如果数据符合验证规则;返回的是true; if($res){ return $res; } return '验证成功'; } //独立验证; public function demo3(){ //think\Validate.php //validate::make() 创建验证规则并返回对象; //Validate->check($data) 验证; // 1.创建验证规则; $rule = [ 'qq' => 'require|length:4,10', //长度要求4-10; 'password' => 'require|length:4,8', ]; //2.错误信息 $message = [ 'qq.require' => 'qq长度必须在4到10之间', 'password' => '密码长度必须在4到8之间', ]; //3.创建数据; $data = [ 'qq' => 'longzhu', 'password' => 1232245678, ]; // 重要的;验证类没找到,可以直接在原地路径; $validate = \think\Validate::make($rule,$message); $res = $validate->check($data); return $res? '验证通过':$validate->getError(); } }
在任意文件下创建一个验证器类,创建的类继承框架的类;
验证器类里有两个受保护的属性,验证规则和验证信息;
在控制器方法中调用验证器类,(用依赖注入调用此类);
将数据和规则一起验证,并返回信息;
有信息验证失败,没信息,验证成功;
Correcting teacher:查无此人Correction time:2019-05-22 09:28:36
Teacher's summary:完成的不错。多看thinkphp的文档,多练习功能,很快就能上手。继续加油。