thinkphp5.0自定义验证规则使用方法


Posted in PHP onNovember 16, 2017

我们在用thinkphp5.0时候,经常要自定义验证规则,这个写法与tp以前的版本有所区别,小编今天带来大家一起来学习一下5.0下验证规则的使用方法。

在thinkphp5中定义$rule(验证规则)有两种方式

方式一:

$rule = [
  // 不可以在此处定义空的验证 如 'name' => '',会导致出现result未定义错误
  'name' => 'require|max:25',
  'age'  => 'number|between:1,120',
];

方式二:

$rule = [
  'name' => ['require','max'=>25],
  'age'  => ['number','between'=>'1,120'],
];

如果方式一自定义验证规则的话,就可以这样写

$rule = [
  'name' => 'require|max:25|checkName:',
  'age'  => 'number|between:1,120',
];
protected function checkNmae($value)
{
  $value 是name值,可以在此处进行验证,如正则验证
}

如果是方式二的话,写法如下

$rule = [
  'name' => ['require','max'=>25,'checkName'=>'$rule参数'],
  'age'  => ['number','between'=>'1,120'],
  'email' => ['require', 'checkUserEmail'=>'qq.com'],
];
protected function checkName($value, $rule)
{
  $vaule 是name值,$rule为上面的$rule参数
}
protected function checkUserEmail($value,$rule)
{
  $res = preg_match('/^\w+([-+.]\w+)*@'.$rule.'$/', $value);
  if (!$res) {
    return '邮箱只能是'.$rule.'域名';
  } else {
    return true;
  }
}

以上就是我们给出的两种方法的代码,如果你有更好的方法或者代码可以在下面的留言区讨论留言。

PHP 相关文章推荐
PHP文件打开、关闭、写入的判断与执行代码
May 24 PHP
一个非常完美的读写ini格式的PHP配置类分享
Feb 12 PHP
php获得客户端浏览器名称及版本的方法(基于ECShop函数)
Dec 23 PHP
详解PHP对象的串行化与反串行化
Jan 24 PHP
必须收藏的php实用代码片段
Feb 02 PHP
PHP函数checkdnsrr用法详解(Windows平台用法)
Mar 21 PHP
thinkphp表单上传文件并将文件路径保存到数据库中
Jul 28 PHP
php5.2的curl-bug 服务器被php进程卡死问题排查
Sep 19 PHP
thinkPHP5.0框架命名空间详解
Mar 18 PHP
PHPExcel 修改已存在Excel的方法
May 03 PHP
PHP创建文件及写入数据(覆盖写入,追加写入)的方法详解
Feb 15 PHP
微信小程序发送订阅消息的方法(php 为例)
Oct 30 PHP
PHP实现验证码校验功能
Nov 16 #PHP
学习thinkphp5.0验证类使用方法
Nov 16 #PHP
thinkPHP中钩子的使用方法实例分析
Nov 16 #PHP
php表单处理操作
Nov 16 #PHP
ThinkPHP实现转换数据库查询结果数据到对应类型的方法
Nov 16 #PHP
Laravel下生成验证码的类
Nov 15 #PHP
Ajax中的JSON格式与php传输过程全面解析
Nov 14 #PHP
You might like
无限级别菜单的实现
2006/10/09 PHP
ubuntu下编译安装xcache for php5.3 的具体操作步骤
2013/06/18 PHP
PHP7中I/O模型内核剖析详解
2019/04/14 PHP
PHP工厂模式、单例模式与注册树模式实例详解
2019/06/03 PHP
基于laravel where的高级使用方法
2019/10/10 PHP
比较全面的event对像在IE与FF中的区别 推荐
2009/09/21 Javascript
js模仿html5 placeholder适应于不支持的浏览器
2013/01/13 Javascript
jQuery元素的隐藏与显示实例
2015/01/20 Javascript
JS+CSS实现的拖动分页效果实例
2015/05/11 Javascript
精彩的Bootstrap案例分享 重点在注释!(选项卡、栅格布局)
2016/07/01 Javascript
关于angularJs指令的Scope(作用域)介绍
2016/10/25 Javascript
从零开始搭建webpack+react开发环境的详细步骤
2018/05/18 Javascript
微信小程序关键字变色实现代码实例
2019/12/13 Javascript
Python的设计模式编程入门指南
2015/04/02 Python
理解Python中函数的参数
2015/04/27 Python
详解python中的文件与目录操作
2017/07/11 Python
解决python使用open打开文件中文乱码的问题
2017/12/29 Python
python中使用xlrd读excel使用xlwt写excel的实例代码
2018/01/31 Python
Python计算库numpy进行方差/标准方差/样本标准方差/协方差的计算
2018/12/28 Python
在python中利用最小二乘拟合二次抛物线函数的方法
2018/12/29 Python
Python玩转加密的技巧【推荐】
2019/05/13 Python
详解pandas apply 并行处理的几种方法
2021/02/24 Python
Ratchet 模态框的实现
2020/08/19 HTML / CSS
摩托车和ATV零件、配件和服装的首选在线零售商:MotoSport
2017/12/22 全球购物
SHEIN台湾:购买最新流行女装服饰
2019/05/18 全球购物
真诚的求职信
2014/07/04 职场文书
励志演讲稿大全
2014/08/21 职场文书
孩子教育的心得体会
2014/09/01 职场文书
孝老爱亲事迹材料
2014/12/24 职场文书
贷款承诺书
2015/01/20 职场文书
2015年学校体育工作总结
2015/04/22 职场文书
离婚撤诉申请书范本
2015/05/18 职场文书
公司管理制度范本
2015/08/03 职场文书
春节随笔
2015/08/15 职场文书
教师听课学习心得体会
2016/01/15 职场文书
ORACLE查看当前账号的相关信息
2021/06/18 Oracle