摘要:验证器练习代码: <?php /** * Created by PhpStorm. * User: Administrator * Date: 2019/4/19 * Time: 14:09 */ namespace app\val
验证器练习代码: <?php /** * Created by PhpStorm. * User: Administrator * Date: 2019/4/19 * Time: 14:09 */ namespace app\validate; use think\Validate; class Staff extends Validate { //验证规则 protected $rule =[ 'name' => 'require|length:4,20', 'sex' => 'in:0,1', 'age' => 'require|between:18,60', 'salary' => 'require|gt:1500' ]; //自定义错误信息 protected $message = [ 'name.require'=>'员工姓名不能为空', 'name.length'=>'姓名不符合规定', 'sex.in'=>'性别为男或者女', 'age.require'=>'年龄不能为空', 'age.between'=>'年龄不符合规定', 'salary.require'=>'工资不能为空', 'salary.gt'=>'工资不能低于社平工资' ]; } 控制器中代码: <?php /** * Created by PhpStorm. * User: Administrator * Date: 2019/4/19 * Time: 14:16 */ namespace app\index\controller; //命名空间 use think\Controller; //继承控制器 use app\validate\Staff; //导入验证器类 use think\Validate; //导入框架的验证器类 class Verify extends Controller { //验证器验证 public function demo1() { //准备验证的数据 $data =[ 'name'=>'lyu', 'sex'=>0, 'age'=>40, 'salary'=>2000 ]; //验证规则 $validate = new Staff(); if(!$validate->check($data)) { dump($validate->getError()); }else{ return '验证通过'; } } //验证器的简化操作:$this->validate($data,$rule,$mess) public function demo2() { //准备验证的数据 $data =[ 'name'=>'lyudddd', 'sex'=>0, 'age'=>46, 'salary'=>2000 ]; //准验证规则 $rule = 'app\validate\Staff'; $res = $this->validate($data,$rule); if(true !== $res){ return $res; } return '验证成功'; } //当前控制器直接验证 public function demo3() { //准备数据 $data =['age'=>20]; //验证条件 $rule = ['age'=>'between:10,50']; //提示信息 $message =['age.between'=>'年龄必须在10到50之家']; //验证操作 $res = $this->validate($data,$rule,$message); if(true !== $res){ return $res; } return '验证成功'; } //独立验证 public function demo4() { //调用think\Validate.php,用Validate::make()创建验证规则并返回验证对象 //$validate->check($data)验证 //1.创建验证规则 $rule = ['age'=>'require|between:30,60']; //2.错误信息 $message =['age.require' =>'年龄必须填写' , 'age.between'=>'年龄必须在10到50之间']; //3.创建数据 $data = ['age'=>50]; //4.执行Validate::make() $validate = Validate::make($rule,$message); $res = $validate->check($data); return $res ? '验证通过' : $validate->getError(); } }
批改老师:西门大官人批改时间:2019-04-20 13:07:09
老师总结:系统一般会对用户输入的数据进行校验,可以手工校验,也可以写验证器校验。