学习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 相关文章推荐
JS实现php的伪分页
May 25 PHP
PHP 中文处理技巧
Apr 25 PHP
PHP的cURL库功能简介 抓取网页、POST数据及其他
Apr 07 PHP
Erlang的运算符(比较运算符,数值运算符,移位运算符,逻辑运算符)
Jul 23 PHP
解析php中die(),exit(),return的区别
Jun 20 PHP
php中require和require_once的区别说明
Feb 27 PHP
php 过滤英文标点符号及过滤中文标点符号代码
Jun 12 PHP
php使用GeoIP库实例
Jun 27 PHP
Zend Framework开发入门经典教程
Mar 23 PHP
基于php流程控制语句和循环控制语句(讲解)
Oct 23 PHP
PDO::commit讲解
Jan 27 PHP
通过实例解析PHP数据类型转换方法
Jul 11 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之第六天
2006/10/09 PHP
PHP如何透过ODBC来存取数据库
2006/10/09 PHP
adodb与adodb_lite之比较
2006/12/31 PHP
PHP date()函数警告: It is not safe to rely on the system解决方法
2014/08/20 PHP
PHP错误Warning: Cannot modify header information - headers already sent by解决方法
2014/09/27 PHP
PHP实现的带超时功能get_headers函数
2015/02/10 PHP
php 读写json文件及修改json的方法
2018/03/07 PHP
Laravel框架实现的批量删除功能示例
2019/01/16 PHP
js 数组操作代码集锦
2009/04/28 Javascript
Javascript+XMLHttpRequest+asp.net无刷新读取数据库数据
2009/08/09 Javascript
JS 实现双色表格实现代码
2009/11/24 Javascript
详谈javascript中的cookie
2015/06/03 Javascript
Bootstrap安装环境配置教程分享
2016/05/27 Javascript
vue中的计算属性的使用和vue实例的方法示例
2017/12/04 Javascript
iview table高度动态设置方法
2018/03/14 Javascript
js实现左右两侧浮动广告
2018/07/09 Javascript
微信小程序实用代码段(收藏版)
2019/12/17 Javascript
jQuery实现本地存储
2020/12/22 jQuery
[02:42]DOTA2城市挑战赛收官在即 四强之争风起云涌
2018/06/05 DOTA
python获取本地计算机名字的方法
2015/04/29 Python
python web框架学习笔记
2016/05/03 Python
Pycharm学习教程(4) Python解释器的相关配置
2017/05/03 Python
Python获取本机所有网卡ip,掩码和广播地址实例代码
2018/01/22 Python
python实现向微信用户发送每日一句 python实现微信聊天机器人
2019/03/27 Python
Python Django 页面上展示固定的页码数实现代码
2019/08/21 Python
python读取指定字节长度的文本方法
2019/08/27 Python
wxPython修改文本框颜色过程解析
2020/02/14 Python
python下载卫星云图合成gif的方法示例
2020/02/18 Python
Python爬虫之Selenium实现关闭浏览器
2020/12/04 Python
航空大学应届生求职信
2013/11/10 职场文书
小学防溺水制度
2014/01/29 职场文书
气象学专业个人求职信
2014/03/15 职场文书
《鹬蚌相争》教学反思
2014/04/22 职场文书
留学推荐信范文
2014/05/10 职场文书
Oracle 数据仓库ETL技术之多表插入语句的示例详解
2021/04/12 Oracle
MySQL 使用索引扫描进行排序
2021/06/20 MySQL