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 相关文章推荐
Win2000+Apache+MySql+PHP4+PERL安装使用小结
Oct 09 PHP
phpMyadmin 用户权限中英对照
Apr 02 PHP
php下将图片以二进制存入mysql数据库中并显示的实现代码
May 27 PHP
基于PHP服务端图片生成缩略图的方法详解
Jun 20 PHP
关于url地址传参数时字符串有回车造成页面脚本赋值失败的解决方法
Jun 28 PHP
PHP函数microtime()用法与说明
Dec 04 PHP
PHP中preg_match正则匹配中的/u、/i、/s含义
Apr 17 PHP
PHP通过API获取手机号码归属地
May 28 PHP
浅析php如何实现App常用的秒发功能
Aug 03 PHP
基于Swoole实现PHP与websocket聊天室
Aug 03 PHP
搜索附近的人PHP实现代码
Feb 11 PHP
PHP生成短网址的思路以及实现方法的详解
Mar 25 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
DC动漫人物排行
2020/03/03 欧美动漫
PHP企业级应用之常见缓存技术篇
2011/01/27 PHP
php中simplexml_load_string使用实例分享
2014/02/13 PHP
WordPress自定义时间显示格式
2015/03/27 PHP
jquery scrollTop方法根据滚动像素显示隐藏顶部导航条
2013/05/27 Javascript
jQuery中:visible选择器用法实例
2014/12/30 Javascript
如何使用headjs来管理和异步加载js
2016/11/29 Javascript
ionic开发中点击input时键盘自动弹出
2016/12/23 Javascript
js仿小米手机上下滑动效果
2017/02/05 Javascript
Express之get,pos请求参数的获取
2017/05/02 Javascript
vue基于mint-ui的城市选择3级联动的示例
2017/10/25 Javascript
vue项目实现github在线预览功能
2018/06/20 Javascript
JavaScript创建对象的常用方式总结
2018/08/10 Javascript
Vue中 key keep-alive的实现原理
2018/09/18 Javascript
微信小程序使用echarts获取数据并生成折线图
2019/10/16 Javascript
Node绑定全局TraceID的实现方法
2019/11/14 Javascript
JS函数基本定义与用法示例
2020/01/15 Javascript
javascript+css实现俄罗斯方块小游戏
2020/06/28 Javascript
python中的reduce内建函数使用方法指南
2014/08/31 Python
python通过floor函数舍弃小数位的方法
2015/03/17 Python
Python中死锁的形成示例及死锁情况的防止
2016/06/14 Python
一张图带我们入门Python基础教程
2017/02/05 Python
Python爬虫_城市公交、地铁站点和线路数据采集实例
2018/01/10 Python
python try except 捕获所有异常的实例
2018/10/18 Python
python中通过selenium简单操作及元素定位知识点总结
2019/09/10 Python
Python命令行参数解析工具 docopt 安装和应用过程详解
2019/09/26 Python
Python 根据数据模板创建shapefile的实现
2019/11/26 Python
在Tensorflow中查看权重的实现
2020/01/24 Python
canvas绘制文本内容自动换行的实现代码
2019/01/14 HTML / CSS
俄罗斯第一家篮球店:StreetBall
2020/07/30 全球购物
经典优秀个人求职自荐信格式
2013/09/25 职场文书
物业门卫岗位职责
2013/12/28 职场文书
入党积极分子批评与自我批评思想汇报
2014/09/14 职场文书
2014年药品销售工作总结
2014/12/16 职场文书
服务明星事迹材料
2014/12/29 职场文书
演讲稿:​快乐,从不抱怨开始!
2019/04/02 职场文书