学习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 相关文章推荐
一个用于网络的工具函数库
Oct 09 PHP
PHP读取XML值的代码(推荐)
Jan 01 PHP
浅析is_writable的php实现
Jun 18 PHP
关于使用coreseek并为其做分页的介绍
Jun 21 PHP
测试PHP连接MYSQL成功与否的代码
Aug 16 PHP
php多次include后导致全局变量global失效的解决方法
Feb 28 PHP
php metaphone()函数及php localeconv() 函数实例解析
May 15 PHP
yii2利用自带UploadedFile实现上传图片的示例
Feb 16 PHP
PHP 文件锁与进程锁的使用示例
Aug 07 PHP
PHP的mysqli_select_db()函数讲解
Jan 23 PHP
[原创]PHP global全局变量经典应用与注意事项分析【附$GLOBALS用法对比】
Jul 12 PHP
thinkphp框架无限级栏目的排序功能实现方法示例
Mar 29 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
暴雪前总裁遗憾:没尽早追赶Dota 取消星际争霸幽灵
2020/03/08 星际争霸
兼容性比较好的PHP生成缩略图的代码
2011/01/12 PHP
PHP处理SQL脚本文件导入到MySQL的代码实例
2014/03/17 PHP
PHP多进程编程总结(推荐)
2016/07/18 PHP
Docker搭建自己的PHP开发环境
2018/02/24 PHP
PHP两个n位的二进制整数相加问题的解决
2018/08/26 PHP
laravel实现于语言包的完美切换方法
2019/09/29 PHP
javascript检查浏览器是否支持flash的实现代码
2014/08/14 Javascript
jQuery动态背景图片效果实现方法
2015/07/03 Javascript
JavaScript获取URL中参数querystring的方法详解
2016/10/11 Javascript
Radio 单选JS动态添加的选项onchange事件无效的解决方法
2016/12/12 Javascript
vue-router中的hash和history两种模式的区别
2018/07/17 Javascript
JavaScript中toLocaleString()和toString()的区别实例分析
2018/08/14 Javascript
nodejs基础之多进程实例详解
2018/12/27 NodeJs
ES6 Set结构的应用实例分析
2019/06/26 Javascript
Vue实现腾讯云点播视频上传功能的实现代码
2020/08/17 Javascript
封装Vue Element的table表格组件的示例详解
2020/08/19 Javascript
[36:05]DOTA2亚洲邀请赛 3.31 小组赛 A组 Liquid vs Optic
2018/04/01 DOTA
python字典排序实例详解
2015/05/20 Python
Python利用multiprocessing实现最简单的分布式作业调度系统实例
2017/11/14 Python
python书籍信息爬虫实例
2018/03/19 Python
Python使用xlwt模块操作Excel的方法详解
2018/03/27 Python
详解Python最长公共子串和最长公共子序列的实现
2018/07/07 Python
python使用正则表达式来获取文件名的前缀方法
2018/10/21 Python
Python3实现的简单三级菜单功能示例
2019/03/12 Python
Python搭建HTTP服务过程图解
2019/12/14 Python
LACOSTE波兰官网:Polo衫、服装和鞋类
2020/09/29 全球购物
土木工程专业自荐信
2013/10/04 职场文书
政府法律服务方案
2014/06/14 职场文书
服务标语口号
2014/07/01 职场文书
党员倡议书
2015/01/19 职场文书
伏羲庙导游词
2015/02/09 职场文书
2015年项目工作总结
2015/04/29 职场文书
选对餐饮营销策略,营业额才会上涨
2019/08/27 职场文书
JavaGUI模仿QQ聊天功能完整版
2021/07/04 Java/Android
PHP获取学生成绩的方法
2021/11/17 PHP