TP5.1中的验证类 validate用法

摘要:
在TP5.1中,建议使用验证者来验证数据。以下是数据验证的一个简单示例:#控制器代码:Check){returnjson;}否则{returnjson;}}}#验证器代码:˂?


在TP5.1 中推荐使用验证器进行数据的验证 以下是数据验证的简单实例:

#控制器代码:

<?php
namespace appindexcontroller;
use thinkController;

class Index
{

    #测试验证器使用规则
    public function yz(	hinkfacadeRequest $data)#TP5.1中的依赖注入方法 
    {
     #实例化验证验证器
$res=new appindexvalidateIndex;
     #对数据进行验证
if(!$res->Check($data::post())){ return json($res->getError()); }else{
       return json('验证通过');
    } } }

#验证器代码:

<?php
namespace appindexvalidate;   
use thinkValidate;  #导入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  

  系统返回验证通过

  TP5.1中的验证类 validate用法第1张

接着使用不合法的数据进行验证  我们的验证规则中定义  'age|年龄'=> 'require|number',

  意思为:age字段的数据 不能为空且只能为数字

  我们给age提交一个中文试试看返回结果:

TP5.1中的验证类 validate用法第2张

 

框架返回年龄必须是数字    其中在控制器中的代码  在验证不通过的情况下我们使用的是validata中的 getError()方法返回的错误

 以上为TP验证器的基本使用方法,更多方法以及验证规则请查阅TP官方文档或者查阅Validata.php源代码

  

TP5.1中的验证类 validate用法第3张

免责声明:文章转载自《TP5.1中的验证类 validate用法》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Direct3D中的绘制(5)nyoj 517-最小公倍数 (python range(start, end) range(length))下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

华为 HG526 破解实录(一)Cfg文件加解密工具

几天前,我去中国电信安装E169软件包,并发送了一个华为HG526无线路由猫和一个中兴xxx网络机顶盒(尚未开始制造麻烦)。当然,无线路由猫一如既往地被阉割了。搜索之后,我开始了我的快攻之旅。1.打开catdrop管理页面,使用telecomadmin和nE7jA%5m登录;2.将U盘插入猫。3.开放式管理=˃设备管理、备份配置。4.打开U盘,放下ctce8...

kvm虚拟机快照备份

kvm虚拟机默认使用原始图像格式,该格式具有最佳性能和最快速度。它的缺点是不支持一些新功能,例如映像、zlib磁盘压缩、AES加密等。接下来,启动kvm虚拟机快照备份的过程。查看虚拟机映像快照的版本查看当前虚拟机映像snapshot的版本。您可以看到它是最新的快照版本。...

mysql修改字段防止锁表

步骤1:修改大表、addcolumn或dropcolumn的字段,操作完成后将锁定该表。此时,查询ok、insert和update将等待锁定。...

c# Socket心跳试验,自定义发送包 和 使用KeepAlive

我记录了我心跳的位置,但WireShark无法检测到正在发送的消息,主要是因为发送的数据大小为0。如果网络电缆被拔掉,下次检测到心跳时就会报告错误。虽然这种方法可以检测套接字是否断开,但它不是很好,响应也不及时。当使用KeepAlive时,WireShark通常会检测到它不停地向Socket服务器发送消息,即心跳检测。图:通过三次握手(前三次握手)建立连接后...

等保2.0四级安全要求

平等保护2.0四级安全要求四级安全保护能力:应能够在统一的安全战略下,防止恶意攻击、严重自然灾害和来自国家一级、敌对组织和资源丰富的威胁源的其他严重危害造成的资源损害。它应该能够及时检测和监控攻击和安全事件,所有功能都可以快速恢复。以下粗体字段是平等保护的第4级和第3级之间的差异,应予以更多注意。...

微信分享之分享图片/分享图标不能显示

微信分享的分享图标/图片无法显示,主要是由于以下几个问题:1.确保分享界面调用成功,分享路径正确。2.确保共享图片的路径不使用中文或全半角字符。3.确保副本不包含敏感字符,如红包和收据。当共享接口未能成功加载时,将发生错误。在页面的前面使用隐藏的div来放置要制作缩略图的图片。记住,不能直接隐藏图片。style=“display:noen”,如果没有,则使用...