学习thinkphp5.0验证类使用方法


Posted in PHP onNovember 16, 2017

通过一个实例,给大家讲解一下如果通过thinkphp5.0验证类的方法。

自定义验证类,需继承Validate类

比如在home模块新建validate文件夹,再新建Test.php验证类,内容如下:

<?php
namespace app\home\validate;
use think\Validate;
class Test extends Validate
{
  protected $rule = [
    'name' => 'require|regex:/.{6}/',
    'age' => 'number|between:1,120',
    'email' => 'email'
  ];
  protected $message = [
    'name.require' => 'name不能少',
    'name.regex' => 'name不能少于6个字符',
    'age.number' => 'age必须是数字',
    'age.between' => 'age必须在1到120之间',
    'email.email' => 'email格式不对',
  ];
  protected $scene = [
    'name_email' => ['name','email'],
  ];
}
?>

在Index控制器test方法使用

<?php
namespace app\home\controller;
use think\Loader;
use think\Controller;
class Index extends Controller
{
  public function test(){
    $date = [
      'name'=>'qw2e',
      'email'=>'12313'
    ];
    //$validate = Loader::validate('Test');//使用加载类Loader
    $validate = validate('Test');//使用助手函数
    $result = $validate->scene('name_email')->check($date);
    if(!$result){
      dump($validate->getError());
    }
  }
}

以上就是我们给出的验证类的实例方法,如果还有哪里不明白,大家可以在下方留言一起讨论。

PHP 相关文章推荐
THINKPHP+JS实现缩放图片式截图的实现
Mar 07 PHP
PHP+jQuery实现自动补全功能源码
May 15 PHP
php获取表单中多个同名input元素的值
Mar 20 PHP
php伪静态之APACHE篇
Jun 02 PHP
PHP不用递归遍历目录下所有文件的代码
Jul 04 PHP
Codeigniter发送邮件的方法
Mar 19 PHP
php将html转成wml的WAP标记语言实例
Jul 08 PHP
PHP的Json中文处理解决方案
Sep 29 PHP
PHP基于mssql扩展远程连接MSSQL的简单实现方法
Oct 08 PHP
微信公众号开发客服接口实例代码
Oct 21 PHP
CI框架实现优化文件上传及多文件上传的方法
Jan 04 PHP
源码分析 Laravel 重复执行同一个队列任务的原因
Dec 25 PHP
thinkPHP中钩子的使用方法实例分析
Nov 16 #PHP
php表单处理操作
Nov 16 #PHP
ThinkPHP实现转换数据库查询结果数据到对应类型的方法
Nov 16 #PHP
Laravel下生成验证码的类
Nov 15 #PHP
Ajax中的JSON格式与php传输过程全面解析
Nov 14 #PHP
PHP基于imagick扩展实现合成图片的两种方法【附imagick扩展下载】
Nov 14 #PHP
Laravel Intervention/image图片处理扩展包的安装、使用与可能遇到的坑详解
Nov 14 #PHP
You might like
mysql建立外键
2006/11/25 PHP
PHP json_encode中文乱码问题的解决办法
2013/09/09 PHP
Yii框架中 find findAll 查找出制定的字段的方法对比
2014/09/10 PHP
php将html转成wml的WAP标记语言实例
2015/07/08 PHP
如何用PHP做到页面注册审核
2017/03/02 PHP
PHP实现数组根据某个单元字段排序操作示例
2018/08/01 PHP
ThinkPHP5.1框架数据库链接和增删改查操作示例
2019/08/03 PHP
新老版本juqery获取radio对象的方法
2010/03/01 Javascript
最常用的12种设计模式小结
2011/08/09 Javascript
.net,js捕捉文本框回车键事件的小例子(兼容多浏览器)
2013/03/11 Javascript
jQuery的控件及事件(输入控件及回车事件)使用示例
2013/07/25 Javascript
javascript调试过程中找不到哪里出错的可能原因
2013/12/16 Javascript
js拼接html注意问题示例探讨
2014/07/14 Javascript
jquery向上向下取整适合分页查询
2014/09/06 Javascript
node.js中的fs.lstat方法使用说明
2014/12/16 Javascript
jquery正则表达式验证(手机号、身份证号、中文名称)
2015/12/31 Javascript
轻松实现javascript图片轮播特效
2016/01/13 Javascript
js实现百度登录框鼠标拖拽效果
2017/03/07 Javascript
JavaScript 值类型和引用类型的初次研究(推荐)
2017/07/19 Javascript
JS实现简单的抽奖转盘效果示例
2019/02/16 Javascript
微信小程序设置全局请求URL及封装wx.request请求操作示例
2019/04/02 Javascript
Vue中多元素过渡特效的解决方案
2020/02/05 Javascript
python生成指定尺寸缩略图的示例
2014/05/07 Python
Windows下用py2exe将Python程序打包成exe程序的教程
2015/04/08 Python
Python与R语言的简要对比
2017/11/14 Python
pandas表连接 索引上的合并方法
2018/06/08 Python
在PYQT5中QscrollArea(滚动条)的使用方法
2019/06/14 Python
Python有参函数使用代码实例
2020/01/06 Python
Python实现计算图像RGB均值方式
2020/06/04 Python
Python字典fromkeys()方法使用代码实例
2020/07/20 Python
canvas与html5实现视频截图功能示例
2016/12/15 HTML / CSS
创业资金计划书
2014/02/06 职场文书
关于孝道的演讲稿
2014/05/21 职场文书
高中运动会前导词
2015/07/20 职场文书
培训后的感想
2015/08/07 职场文书
Oracle 区块链表创建过程详解
2021/05/15 Oracle