学习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 相关文章推荐
PHP+MYSQL的文章管理系统(二)
Oct 09 PHP
PHP 上传文件的方法(类)
Jul 30 PHP
PHP 数组遍历方法大全(foreach,list,each)
Jun 30 PHP
php运行出现Call to undefined function curl_init()的解决方法
Nov 02 PHP
PHP文件注释标记及规范小结
Apr 01 PHP
php中禁止单个IP与ip段访问的代码小结
Jul 04 PHP
PHP编译安装时常见错误解决办法
May 28 PHP
PHP面向对象中new self()与 new static()的区别浅析
Aug 17 PHP
利用PHP判断是手机移动端还是PC端访问的函数示例
Dec 14 PHP
php中pcntl_fork创建子进程的方法实例
Mar 14 PHP
laravel框架 api自定义全局异常处理方法
Oct 11 PHP
php中配置文件保存修改操作 如config.php文件的读取修改等操作
May 12 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
简单说说PHP优化那些事(经验分享)
2014/11/27 PHP
PHP实现递归目录的5种方法
2016/10/27 PHP
php中输出json对象的值(实现方法)
2018/03/07 PHP
php格式文件打开的四种方法
2018/02/24 PHP
基于jQuery的自动完成插件
2011/02/03 Javascript
浅析JavaScript中的CSS属性及命名规范
2013/11/28 Javascript
零基础搭建Node.js、Express、Ejs、Mongodb服务器及应用开发入门
2014/12/20 Javascript
详解jQuery中的元素的属性和相关操作
2015/08/14 Javascript
基于html5和nodejs相结合实现websocket即使通讯
2015/11/19 NodeJs
在JavaScript中使用JSON数据
2016/02/15 Javascript
很棒的Bootstrap选项卡切换效果
2016/07/01 Javascript
利用JS判断字符串是否含有数字与特殊字符的方法小结
2016/11/25 Javascript
JS简单实现移动端日历功能示例
2016/12/28 Javascript
js设置文字颜色的方法示例
2016/12/30 Javascript
Angularjs实现上传图片预览功能
2017/09/01 Javascript
解决Vue2.0中使用less给元素添加背景图片出现的问题
2018/09/03 Javascript
使用npm命令提示: 'npm' 不是内部或外部命令,也不是可运行的程序的处理方法
2020/05/14 Javascript
详解javascript脚本何时会被执行
2021/02/05 Javascript
[02:08]2014DOTA2国际邀请赛 430专访:力争取得小组前二
2014/07/11 DOTA
探寻python多线程ctrl+c退出问题解决方案
2014/10/23 Python
利用Python绘制MySQL数据图实现数据可视化
2015/03/30 Python
wxPython的安装图文教程(Windows)
2017/12/28 Python
python使用PyQt5的简单方法
2019/02/27 Python
python 读取数据库并绘图的实例
2019/12/03 Python
Python3加密解密库Crypto的RSA加解密和签名/验签实现方法实例
2020/02/11 Python
python扫描线填充算法详解
2020/02/19 Python
python异步Web框架sanic的实现
2020/04/27 Python
python生成word合同的实例方法
2021/01/12 Python
HTML5页面嵌入小程序没有返回按钮及返回页面空白的问题
2020/05/28 HTML / CSS
最新销售员个人自荐信
2013/09/21 职场文书
2014年师德师风学习材料
2014/05/16 职场文书
党性心得体会
2014/09/03 职场文书
入党介绍人意见怎么写
2015/06/03 职场文书
2015年信息化建设工作总结
2015/07/23 职场文书
ORACLE数据库应用开发的三十个注意事项
2021/06/07 Oracle
mysql通过group by分组取最大时间对应数据的两种有效方法
2022/09/23 MySQL