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&java(二)
Oct 09 PHP
PHP获取网站域名和地址的代码
Aug 17 PHP
php PDO中文乱码解决办法
Jul 20 PHP
PHP 长文章分页函数 带使用方法,不会分割段落,翻页在底部
Oct 22 PHP
php 自写函数代码 获取关键字 去超链接
Feb 08 PHP
关于PHP的相似度计算函数:levenshtein的使用介绍
Apr 15 PHP
解析Ubuntu下crontab命令的用法
Jun 24 PHP
PHP设置图片文件上传大小的具体实现方法
Oct 11 PHP
php日历制作代码分享
Jan 20 PHP
php结合ajax实现手机发红包的案例
Oct 13 PHP
PDO操作MySQL的基础教程(推荐)
Aug 18 PHP
php 下 html5 XHR2 + FormData + File API 上传文件操作实例分析
Feb 28 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异步执行的常用方式详解
2013/06/03 PHP
最新最全PHP生成制作验证码代码详解(推荐)
2016/06/12 PHP
PHP测试框架PHPUnit组织测试操作示例
2018/05/28 PHP
微信公众号之主动给用户发送消息功能
2019/06/22 PHP
Javascript学习笔记7 原型链的原理
2010/01/11 Javascript
JavaScript中的Array对象使用说明
2011/01/17 Javascript
Jquery 实现表格颜色交替变化鼠标移过颜色变化实例
2013/08/28 Javascript
给before和after伪元素设置js效果的方法
2015/12/04 Javascript
Javascript 字符串模板的简单实现
2016/02/13 Javascript
js绘制购物车抛物线动画
2020/11/18 Javascript
利用jQuery对无序列表排序的简单方法
2016/10/16 Javascript
微信小程序 POST请求(网络请求)详解及实例代码
2016/11/16 Javascript
Bootstrap和Java分页实例第一篇
2016/12/23 Javascript
微信小程序 数据封装,参数传值等经验分享
2017/01/09 Javascript
JavaScript实现body内任意节点的自定义属性功能示例
2017/09/18 Javascript
vue watch深度监听对象实现数据联动效果
2018/08/16 Javascript
详解关于Vue版本不匹配问题(Vue packages version mismatch)
2018/09/17 Javascript
vue路由对不同界面进行传参及跳转的总结
2019/04/20 Javascript
详解Vue项目引入CreateJS的方法(亲测可用)
2019/05/30 Javascript
基于Vue中使用节流Lodash throttle详解
2019/10/30 Javascript
机器学习10大经典算法详解
2017/12/07 Python
python保存数据到本地文件的方法
2018/06/23 Python
python scp 批量同步文件的实现方法
2019/01/03 Python
Python字典对象实现原理详解
2019/07/01 Python
python time()的实例用法
2020/11/03 Python
Top Villas美国:豪华别墅出租和度假屋
2018/07/10 全球购物
C++面试题目
2013/06/25 面试题
说一下Linux下有关用户和组管理的命令
2014/08/18 面试题
汽车运用工程专业毕业生推荐信
2013/12/25 职场文书
跟单业务员岗位职责
2014/03/08 职场文书
供货协议书范本
2014/04/22 职场文书
节能减耗标语
2014/06/21 职场文书
2015年社区流动人口工作总结
2015/05/12 职场文书
Python+Appium新手教程
2021/04/17 Python
Python+Matplotlib图像上指定坐标的位置添加文本标签与注释
2022/04/11 Python
SQL中的连接查询详解
2022/06/21 SQL Server