学习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 相关文章推荐
php5.2时间相差8小时
Jan 15 PHP
PHP+Ajax异步通讯实现用户名邮箱验证是否已注册( 2种方法实现)
Dec 28 PHP
php自动给文章加关键词链接的函数代码
Nov 29 PHP
PHP连接SQLServer2005方法及代码
Dec 26 PHP
PHP 登录完成后如何跳转上一访问页面
Jan 14 PHP
PHP中定义数组常量(array常量)的方法
Nov 17 PHP
php  单例模式详细介绍及实现源码
Nov 05 PHP
php微信公众号js-sdk开发应用
Nov 28 PHP
PHP使用PDO调用mssql存储过程的方法示例
Oct 07 PHP
详细解读php的命名空间(二)
Feb 21 PHP
PHP实现批量修改文件名的方法示例
Sep 18 PHP
php+mysql+ajax 局部刷新点赞/取消点赞功能(每个账号只点赞一次)
Jul 24 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
新闻分类录入、显示系统
2006/10/09 PHP
PHP调用MySQL的存储过程的实现代码
2008/08/12 PHP
PHP 开发环境配置(Zend Server安装)
2010/04/28 PHP
phpstorm编辑器乱码问题解决
2014/12/01 PHP
PHP表单提交后引号前自动加反斜杠的原因及三种办法关闭php魔术引号
2015/09/30 PHP
mysql desc(DESCRIBE)命令实例讲解
2016/09/24 PHP
PHP7扩展开发教程之Hello World实现方法示例
2017/08/03 PHP
PHP缓存工具XCache安装与使用方法详解
2018/04/09 PHP
解放web程序员的输入验证
2006/10/06 Javascript
javascript 去字符串空格终极版(支持utf8)
2009/11/14 Javascript
自制轻量级仿jQuery.boxy对话框插件代码
2010/10/26 Javascript
js 实现css风格选择器(压缩后2KB)
2012/01/12 Javascript
JQuery中如何传递参数如click(),change()等具体实现
2013/04/28 Javascript
js键盘上下左右键怎么触发function(实例讲解)
2013/12/14 Javascript
一个实用的图片切换支持点击切换和自动轮播
2014/09/09 Javascript
jQuery插件uploadify实现ajax效果的图片上传
2016/06/18 Javascript
关于javascript中限定时间内防止按钮重复点击的思路详解
2016/08/16 Javascript
jQuery查找节点并获取节点属性的方法
2016/09/09 Javascript
JSON 对象未定义错误的解决方法
2016/09/29 Javascript
JavaScript基于DOM操作实现简单的数学运算功能示例
2017/01/16 Javascript
JavaScript实现的浏览器下载文件的方法
2017/08/09 Javascript
解决ng-repeat产生的ng-model中取不到值的问题
2018/10/02 Javascript
原生JS实现贪吃蛇小游戏
2020/03/09 Javascript
Python中的localtime()方法使用详解
2015/05/22 Python
python使用turtle库绘制树
2018/06/25 Python
Python函数any()和all()的用法及区别介绍
2018/09/14 Python
解决Python3下map函数的显示问题
2019/12/04 Python
python wxpython 实现界面跳转功能
2019/12/17 Python
python实现秒杀商品的微信自动提醒功能(代码详解)
2020/04/27 Python
python 怎样进行内存管理
2020/11/10 Python
纯CSS3单页切换导航菜单界面设计的简单实现
2016/08/16 HTML / CSS
HTML5对比HTML4的主要改变和改进总结
2016/05/27 HTML / CSS
英国第二大营养品供应商:Vitabiotics
2016/10/01 全球购物
优秀员工自荐书
2013/12/19 职场文书
季度思想汇报
2014/01/01 职场文书
核心价值观演讲稿
2014/05/13 职场文书