学习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 相关文章推荐
通过ICQ网关发送手机短信的PHP源程序
Oct 09 PHP
动态新闻发布的实现及其技巧
Oct 09 PHP
php简单开启gzip压缩方法(zlib.output_compression)
Apr 13 PHP
php实现文件编码批量转换
Mar 10 PHP
PHP入门教程之面向对象基本概念实例分析
Sep 11 PHP
微信公众号OAuth2.0网页授权问题浅析
Jan 21 PHP
PHP使用SWOOLE扩展实现定时同步 MySQL 数据
Apr 09 PHP
thinkphp实现附件上传功能
May 26 PHP
Laravel框架中Blade模板的用法示例
Aug 30 PHP
Yii2 中实现单点登录的方法
Mar 09 PHP
PHP ADODB生成下拉列表框功能示例
May 29 PHP
PHP 实现base64编码文件上传出现问题详解
Sep 01 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程序员的13个好习惯小结
2012/02/20 PHP
phpmyadmin3 安装配置图解教程
2012/03/29 PHP
适合PHP初学者阅读的4本经典书籍
2016/09/23 PHP
PHP检测数据类型的几种方法(总结)
2017/03/04 PHP
laravel 操作数据库常用函数的返回值方法
2019/10/11 PHP
jquery实现图片裁剪思路及实现
2013/08/16 Javascript
什么是Node.js?Node.js详细介绍
2014/06/01 Javascript
input:checkbox多选框实现单选效果跟radio一样
2014/06/16 Javascript
node.js中的fs.chown方法使用说明
2014/12/16 Javascript
jquery中JSON的解析方式
2015/03/16 Javascript
js canvas实现擦除动画
2016/07/16 Javascript
在Docker快速部署Node.js应用的详细步骤
2016/09/02 Javascript
AngularJS入门示例之Hello World详解
2017/01/04 Javascript
微信扫码支付零云插件版实例详解
2017/04/26 Javascript
Avalonjs双向数据绑定与监听的实例代码
2017/06/23 Javascript
详解基于 Nuxt 的 Vue.js 服务端渲染实践
2017/10/24 Javascript
微信小程序实现modal弹出框遮罩层组件(可带文本框)
2020/12/20 Javascript
Node.js中的异步生成器与异步迭代详解
2021/01/31 Javascript
[01:29:46]DOTA2上海特级锦标赛C组资格赛#1 OG VS LGD第二局
2016/02/27 DOTA
Python常用的日期时间处理方法示例
2015/02/08 Python
使用Python刷淘宝喵币(低阶入门版)
2019/10/30 Python
kafka监控获取指定topic的消息总量示例
2019/12/23 Python
django 数据库返回queryset实现封装为字典
2020/05/19 Python
canvas绘制表情包的示例代码
2018/07/09 HTML / CSS
canvas生成带二维码海报的踩坑记录
2019/09/11 HTML / CSS
BCBG官网:BCBGMAXAZRIA
2017/12/29 全球购物
Tahari ASL官方网站:高级设计师女装
2021/03/15 全球购物
介绍一下gcc特性
2012/01/20 面试题
餐饮业员工工作决心书
2014/03/11 职场文书
2014年办公室主任工作总结
2014/11/12 职场文书
应届生求职自荐信范文
2015/03/04 职场文书
2015年宣传部个人工作总结
2015/05/14 职场文书
赞助商致辞
2015/07/30 职场文书
自书遗嘱范文
2015/08/07 职场文书
浅谈Redis跟MySQL的双写问题解决方案
2022/02/24 Redis
el-table-column 内容不自动换行的解决方法
2022/08/14 Vue.js