摘要:<?php namespace app\index\controller; use think\Controller; use app\validate\Staff; use \think\Validate; class Verify extends Controller { //验证器
<?php
namespace app\index\controller;
use think\Controller;
use app\validate\Staff;
use \think\Validate;
class Verify extends Controller
{
//验证器
public function demo1()
{
//模拟数据
$data = [
'name'=>'zhu',
'sex' => 1,
'age' => 28,
'salary'=>1600,
];
$validate= new Staff();
if(!$validate->check($data)){
dump($validate->getError());
}else{
return '验证成功';
}
}
//验证器的简化:$this->validate
public function demo2()
{
$data = [
'name'=>'zhu',
'sex' => 1,
'age' => 28,
'salary'=>1600,
];
//验证规则
$rule = 'app\validate\Staff';
$result = $this->validate($data,$rule);
if (true !== $result) {
// 验证失败 输出错误信息
return $result;
}
return '验证成功';
}
//独立验证
public function demo3()
{
//think\Validate.php
//Validate::make():创建验证规则并返回验证对象
//$validate->check($data):验证
//1.创建验证规则
$rule = ['name' => 'require|length:4,15',];
//创建错误信息
$mess = [
'name.require' => '名称不能为空',
'name.length' => '名称必须在4-25个字符',
];
//创建数据
$data = ['name'=>'zhuii'];
//Validate::make():创建验证规则并返回验证对象
$validate = Validate::make($rule,$mess);
$res=$validate->check($data);
return $rule == $res ? true : '名称错误';
}
}
?>
批改老师:西门大官人批改时间:2019-04-02 10:38:49
老师总结:作业写的不错,建议继续思考一下验证器的实现原理