学习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 相关文章推荐
source.php查看源文件
Dec 09 PHP
php入门学习知识点四 PHP正则表达式基本应用
Jul 14 PHP
php中的路径问题与set_include_path使用介绍
Feb 11 PHP
php中将一段数据存到一个txt文件中并显示其内容
Aug 15 PHP
FleaPHP框架数据库查询条件($conditions)写法总结
Mar 19 PHP
php简单实现多语言切换的方法
May 09 PHP
PHP编程之设置apache虚拟目录
Jul 08 PHP
Laravel中为什么不使用blpop取队列详析
Aug 01 PHP
浅谈PHP封装CURL
Mar 06 PHP
PHP从零开始打造自己的MVC框架之路由类实现方法分析
Jun 03 PHP
laravel框架实现为 Blade 模板引擎添加新文件扩展名操作示例
Jan 25 PHP
PHP 超级全局变量相关总结
Jun 30 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 文件上传功能实现代码
2009/06/24 PHP
浅析is_writable的php实现
2013/06/18 PHP
解析如何去掉CodeIgniter URL中的index.php
2013/06/25 PHP
用PHP实现弹出消息提示框的两种方法
2013/12/17 PHP
列举PHP的Yii 2框架的开发优势
2015/07/03 PHP
php使用文本统计访问量的方法
2016/05/12 PHP
JQuery 学习笔记 选择器之三
2009/07/23 Javascript
javascript事件函数中获得事件源的两种不错方法
2014/03/17 Javascript
Jquery Ajax方法传值到action的方法
2014/05/11 Javascript
详谈jQuery中的this和$(this)
2014/11/13 Javascript
JavaScript 浏览器兼容性总结及常用浏览器兼容性分析
2016/03/30 Javascript
深入理解事件冒泡(Bubble)和事件捕捉(capture)
2016/05/28 Javascript
JS实现简单的二元方程计算器功能示例
2017/01/03 Javascript
ES6中Symbol类型用法实例详解
2017/04/06 Javascript
JavaScript实现简单动态进度条效果
2018/04/06 Javascript
js canvas实现星空连线背景特效
2019/11/01 Javascript
Python完全新手教程
2007/02/08 Python
Python中用Ctrl+C终止多线程程序的问题解决
2013/03/30 Python
编写Python脚本来实现最简单的FTP下载的教程
2015/05/04 Python
python编写分类决策树的代码
2017/12/21 Python
python实现NB-IoT模块远程控制
2018/06/20 Python
Django框架设置cookies与获取cookies操作详解
2019/05/27 Python
python并发编程 Process对象的其他属性方法join方法详解
2019/08/20 Python
PyTorch预训练的实现
2019/09/18 Python
详解基于python的多张不同宽高图片拼接成大图
2019/09/26 Python
python如何实现不用装饰器实现登陆器小程序
2019/12/14 Python
聊聊Python pandas 中loc函数的使用,及跟iloc的区别说明
2021/03/03 Python
详解CSS3:overflow属性
2020/11/17 HTML / CSS
解析HTML5的存储功能和web SQL的相关操作方法
2016/02/19 HTML / CSS
HTML5触摸事件实现移动端简易进度条的实现方法
2018/05/04 HTML / CSS
澳大利亚电子产品购物网站:Dick Smith
2017/02/02 全球购物
初级软件工程师面试题 Junior Software Engineer Interview
2015/02/15 面试题
ktv总经理岗位职责
2014/02/17 职场文书
乔丹名人堂演讲稿
2014/05/24 职场文书
新教师培训心得体会
2014/09/02 职场文书
公司离职证明标准格式
2014/11/18 职场文书