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读MYSQL中文乱码的解决方法
Dec 17 PHP
php Memcache 中实现消息队列
Nov 24 PHP
在字符串指定位置插入一段字符串的php代码
Feb 16 PHP
解析csv数据导入mysql的方法
Jul 01 PHP
php接口与接口引用的深入解析
Aug 09 PHP
PHP中使用Session配合Javascript实现文件上传进度条功能
Oct 15 PHP
PHP中$this和$that指针使用实例
Jan 06 PHP
php实现encode64编码类实例
Mar 24 PHP
PHP使用ODBC连接数据库的方法
Jul 18 PHP
浅析php如何实现App常用的秒发功能
Aug 03 PHP
thinkPHP5.0框架简单配置作用域的方法
Mar 17 PHP
总结PHP代码规范、流程规范、git规范
Jun 18 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
PHP 字符串加密函数(在指定时间内加密还原字符串,超时无法还原)
2010/04/28 PHP
php实现根据字符串生成对应数组的方法
2014/09/22 PHP
php比较相似字符串的方法
2015/06/05 PHP
PHP date()格式MySQL中插入datetime方法
2019/01/29 PHP
用js得到网页中所有的div的id
2020/10/19 Javascript
初学JavaScript第二章
2008/09/30 Javascript
jQuery Tools tooltip使用说明
2012/07/14 Javascript
jQuery.validate 常用方法及需要注意的问题
2013/03/20 Javascript
基于IE下ul li 互相嵌套时的bug,排查,解决过程以及心得介绍
2013/05/07 Javascript
浅析js中2个等号与3个等号的区别
2013/08/06 Javascript
js螺旋动画效果的具体实例
2013/11/15 Javascript
Javascript基础知识(三)BOM,DOM总结
2014/09/29 Javascript
js实现的全国省市二级联动下拉选择菜单完整实例
2015/08/17 Javascript
基于jquery实现复选框全选,反选,全不选等功能
2015/10/16 Javascript
基于jquery实现鼠标左右拖动滑块滑动附源码下载
2015/12/23 Javascript
Linux下为Node.js程序配置MySQL或Oracle数据库的方法
2016/03/19 Javascript
js获取时间函数及扩展函数的方法
2016/10/30 Javascript
js判断是否是手机页面
2017/03/17 Javascript
vue快捷键与基础指令详解
2017/06/01 Javascript
vue如何集成raphael.js中国地图的方法示例
2017/08/15 Javascript
Python实现矩阵加法和乘法的方法分析
2017/12/19 Python
Python实现PS图像调整之对比度调整功能示例
2018/01/26 Python
python中logging模块的一些简单用法的使用
2019/02/22 Python
Python3.5字符串常用操作实例详解
2019/05/01 Python
django-rest-swagger对API接口注释的方法
2019/08/29 Python
Python3 mmap内存映射文件示例解析
2020/03/23 Python
解决HTML5中滚动到底部的事件问题
2019/08/22 HTML / CSS
美国运动鞋和服装网上商店:YCMC
2018/09/15 全球购物
英国电子产品购物网站:Tech in the basket
2019/11/08 全球购物
Crocs欧洲官网:Crocs Europe
2020/01/14 全球购物
会计主管岗位职责
2014/01/03 职场文书
项目建议书格式
2014/03/12 职场文书
《大海那边》教学反思
2014/04/09 职场文书
大学生党员批评与自我批评范文
2014/10/14 职场文书
2014年客服工作总结与计划
2014/12/09 职场文书
mybatis中sql语句CDATA标签的用法说明
2021/06/30 Java/Android