学习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 cookie 登录验证示例代码
Mar 16 PHP
PHP中创建空文件的代码[file_put_contents vs touch]
Jan 20 PHP
php利用反射实现插件机制的方法
Mar 14 PHP
使用PHP接受文件并获得其后缀名的方法
Aug 05 PHP
PHP页面转UTF-8中文编码乱码的解决办法
Oct 20 PHP
46 个非常有用的 PHP 代码片段
Feb 16 PHP
php强大的时间转换函数strtotime
Feb 18 PHP
PHP中的Trait 特性及作用
Apr 03 PHP
py文件转exe时包含paramiko模块出错解决方法
Aug 12 PHP
php文件操作之文件写入字符串、数组的方法分析
Apr 15 PHP
PHP设计模式之装饰器(装饰者)模式(Decorator)入门与应用详解
Dec 13 PHP
浅谈PHP之ThinkPHP框架使用详解
Jul 21 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 获取当前访问的url文件名的方法小结
2010/02/08 PHP
PHP ajax 异步执行不等待执行结果的处理方法
2015/05/27 PHP
PHP函数rtrim()使用中的怪异现象分析
2017/02/24 PHP
PHP工厂模式简单实现方法示例
2018/05/23 PHP
Prototype Hash对象 学习
2009/07/19 Javascript
用JavaScript将从数据库中读取出来的日期型格式化为想要的类型。
2009/08/15 Javascript
Javascript学习笔记1 数据类型
2010/01/11 Javascript
Prototype源码浅析 String部分(三)之HTML字符串处理
2012/01/15 Javascript
面向对象的Javascript之二(接口实现介绍)
2012/01/27 Javascript
Array.prototype.concat不是通用方法反驳[译]
2012/09/20 Javascript
JavaScript中的操作符类型转换示例总结
2016/05/30 Javascript
JS实现图片的不间断连续滚动的简单实例
2016/06/03 Javascript
微信小程序 两种为对象属性赋值的方式详解
2017/02/23 Javascript
js实现显示手机号码效果
2017/03/09 Javascript
javascript 动态生成css代码的两种方法
2017/03/17 Javascript
React简单介绍
2017/05/24 Javascript
在Vue-cli里应用Vuex的state和mutations方法
2018/09/16 Javascript
JavaScript设计模式--桥梁模式引入操作实例分析
2020/05/23 Javascript
[47:36]Optic vs Newbee 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
Python  连接字符串(join %)
2008/09/06 Python
使用Python编写爬虫的基本模块及框架使用指南
2016/01/20 Python
浅谈Python 字符串格式化输出(format/printf)
2016/07/21 Python
python模拟事件触发机制详解
2018/01/19 Python
Django框架模板语言实例小结【变量,标签,过滤器,继承,html转义】
2019/05/23 Python
python如何基于redis实现ip代理池
2020/01/17 Python
Pytest参数化parametrize使用代码实例
2020/02/22 Python
Python 列表反转显示的四种方法
2020/11/16 Python
基于tensorflow __init__、build 和call的使用小结
2021/02/26 Python
请编程遍历页面上所有 TextBox 控件并给它赋值为 string.Empty
2015/12/03 面试题
计算机应用与科学个人的自我评价
2013/11/15 职场文书
物理系毕业生自荐书范文
2014/02/22 职场文书
大学应届生的自我评价
2014/03/06 职场文书
老龄工作先进事迹
2014/08/15 职场文书
地心历险记观后感
2015/06/15 职场文书
浅谈JavaScript浅拷贝和深拷贝
2021/11/07 Javascript
SpringCloud中分析讲解Feign组件添加请求头有哪些坑梳理
2022/06/21 Java/Android