TP5.1中的验证类 validate用法
在TP5.1 中推荐使用验证器进行数据的验证 以下是数据验证的简单实例:
#控制器代码:
<?php namespace app\index\controller; use think\Controller; class Index { #测试验证器使用规则 public function yz(\think\facade\Request $data)#TP5.1中的依赖注入方法 {
#实例化验证验证器 $res=new \app\index\validate\Index;
#对数据进行验证 if(!$res->Check($data::post())){ return json($res->getError()); }else{
return json('验证通过');
} } }
#验证器代码:
<?php namespace app\index\validate; use think\Validate; #导入TP的验证器类 class Index extends Validate #继承父类 {
#$rule中写入验证规则 格式['字段名称|别名'=>'验证规则'] #多个规则使用'|'隔开;
#TP 验证类文件中有丰富的方法 require 代表该字段数据不能为空
protected $rule = [ 'name|名称'=>'require|max:5', 'age|年龄'=> 'require|number', 'email|邮箱'=>'require', ]; }
我们自己建立的模型文件中仅需要在继承TP的验证类后只需要写入验证的内容即可;
我们使用POSTman提交数据进行测试:
我们定义的验证的字段有 name->age->email TP框架会安装先后顺序对数据进行判断,遇到格式不符合规则的数据则立即返回布尔值;
我们首先提供合法的验证数据:
name=demo; age=1; email=xxx@qq.com
系统返回验证通过
接着使用不合法的数据进行验证 我们的验证规则中定义 'age|年龄'=> 'require|number',
意思为:age字段的数据 不能为空且只能为数字
我们给age提交一个中文试试看返回结果:
框架返回年龄必须是数字 其中在控制器中的代码 在验证不通过的情况下我们使用的是validata中的 getError()方法返回的错误
以上为TP验证器的基本使用方法,更多方法以及验证规则请查阅TP官方文档或者查阅Validata.php源代码