摘要:<?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();
}
}在任意文件下创建一个验证器类,创建的类继承框架的类;
验证器类里有两个受保护的属性,验证规则和验证信息;
在控制器方法中调用验证器类,(用依赖注入调用此类);
将数据和规则一起验证,并返回信息;
有信息验证失败,没信息,验证成功;
批改老师:查无此人批改时间:2019-05-22 09:28:36
老师总结:完成的不错。多看thinkphp的文档,多练习功能,很快就能上手。继续加油。