摘要:<?php namespace app\index\controller; use think\Controller; use app\validate\Score; //导入验证器 use think\Validate; class Verify extends Controller { //
<?php
namespace app\index\controller;
use think\Controller;
use app\validate\Score; //导入验证器
use think\Validate;
class Verify extends Controller
{
//直接实例化验证器 完成验证
public function demo1()
{
$data = [
'name' => 'amyqq',
'sex' => '1',
'math' => '8',
'java' => '90',
'php' => '95'
];
$validate = new Score;
if(!$validate->check($data)){
dump($validate->getError());
}else{
return '验证通过';
}
}
//验证器: 使用控制器内容的验证对象来完成验证: $this->validate($data, $rule)
public function demo2()
{
$data = [
'name' => 'amyqq',
'sex' => '1',
'math' => '80',
'java' => '90',
'php' => '95'
];
$rule = 'app\validate\Score';
$rule = [
'math' => 'between:10,100',
];
$message = [
'math.between' => '分数必须在10-100之间'
];
$data = ['math'=>8];
$res = $this->validate($data,$rule,$message);
if (true !== $res) { //验证成功返回true,否则返回错误信息
return $res;
}
return '验证成功';
}
//独立验证: 直接实例化think\Validate.php进行验证
public function demo3()
{
//1.创建验证规则
$rule = [
'java' => 'require|between:0,200',
];
//2.创建错误信息
$message = [
'java.require' =>'分数不能为空',
'java.between' => '分数必须在0-200之间'
];
//3.创建验证数据
$data = ['java' =>333];
//初始化验证器类,并返回验证器实例
$validate = Validate::make($rule,$message);
$res = $validate->check($data);
return $res ? '验证通过' : $validate->getError();
}
}
?>
<?php
//验证器
namespace app\validate;
use think\Validate;
class Score extends Validate
{
//创建验证规则
//以属性的方式进行配置,属性不能更改
protected $rule = [
'name' => 'require|min:4|max:15',
'sex' => 'in:0,1',
'math' => 'require|gt:10'
];
//自定义错误信息
//错误信息可以自定义:
protected $message = [
'name.require' => '学生姓名不能为空',
'name.min' => '姓名不能少于4个字符',
'name.max' => '姓名不能大于15个字符',
'sex.in' => '性别只能选择男或女',
'math.require' => '数学分必须输入',
'math.gt' => '分数必须大于10'
];
}
?>
批改老师:韦小宝批改时间:2018-12-17 14:32:09
老师总结:写的很不错!框架中的验证器在实际的开发中给我们的开发带来很大的方便哦!