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 相关文章推荐
第1次亲密接触PHP5(1)
Oct 09 PHP
php类
Nov 27 PHP
apache rewrite_module模块使用教程
Jan 10 PHP
php实现的遍历文件夹下所有文件,编辑删除
Jan 05 PHP
php切割页面div内容的实现代码分享
Jul 31 PHP
PHP加Nginx实现动态裁剪图片方案
Mar 10 PHP
php实现的Cookies操作类实例
Sep 24 PHP
php函数serialize()与unserialize()用法实例
Nov 06 PHP
typecho插件编写教程(三):保存配置
May 28 PHP
利用php的ob缓存机制实现页面静态化方法
Jul 09 PHP
PHP htmlspecialchars_decode()函数用法讲解
Mar 01 PHP
Laravel Eloquent ORM 实现查询表中指定的字段
Oct 17 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
WHOIS类的修改版
2006/10/09 PHP
php把字符串指定字符分割成数组的方法
2018/03/12 PHP
获取URL地址中的文件名和参数的javascript代码
2009/09/02 Javascript
Jquery实现弹出层分享微博插件具备动画效果
2013/04/03 Javascript
jQuery源码分析之jQuery中的循环技巧详解
2014/09/06 Javascript
JavaScript设计模式之策略模式实例
2014/10/10 Javascript
javascript类型系统 Array对象学习笔记
2016/01/09 Javascript
学习Javascript面向对象编程之封装
2016/02/23 Javascript
JavaScript“尽快失败”的原则实例详解
2016/10/08 Javascript
Bootstrap CDN和本地化环境搭建
2016/10/26 Javascript
Vue表单验证插件的制作过程
2017/04/01 Javascript
socket.io实现在线群聊功能
2017/04/07 Javascript
bootstrap3 dialog 更强大、更灵活的模态框
2017/04/20 Javascript
JS+HTML5 FileReader实现文件上传前本地预览功能
2020/03/27 Javascript
简单介绍react redux的中间件的使用
2018/04/06 Javascript
JS实现简单打字测试
2020/06/24 Javascript
[02:12]Dota 2 推出全新英雄—— 电炎绝手
2019/08/23 DOTA
[45:44]完美世界DOTA2联赛PWL S2 FTD vs PXG 第一场 11.27
2020/12/01 DOTA
Python工程师面试题 与Python Web相关
2016/01/14 Python
Python爬取APP下载链接的实现方法
2016/09/30 Python
django1.11.1 models 数据库同步方法
2018/05/30 Python
使用python计算三角形的斜边例子
2020/04/15 Python
简单的命令查看安装的python版本号
2020/08/28 Python
利用python清除移动硬盘中的临时文件
2020/10/28 Python
印尼最大的在线购物网站:MatahariMall.com
2016/08/26 全球购物
德国家用电器购物网站:Premiumshop24
2019/08/22 全球购物
英语演讲稿范文
2014/01/03 职场文书
社区敬老月活动实施方案
2014/02/17 职场文书
期中考试反思800字
2014/05/01 职场文书
民主生活会发言材料
2014/10/20 职场文书
党员群众路线教育实践活动学习笔记
2014/11/05 职场文书
货款欠条范本
2015/07/03 职场文书
2016年教师节贺卡寄语
2015/12/04 职场文书
安全责任协议书范本
2016/03/23 职场文书
python 闭包函数详细介绍
2022/04/19 Python
IDEA 2022 Translation 未知错误 翻译文档失败
2022/04/24 Java/Android