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源代码

  

 

posted @ 2018-10-10 03:09  飞翔的cloud  阅读(10218)  评论(0编辑  收藏  举报