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 相关文章推荐
一个显示天气预报的程序
Oct 09 PHP
php产生随机数的两种方法实例代码 输出随机IP
Apr 08 PHP
codeigniter框架The URI you submitted has disallowed characters错误解决方法
May 06 PHP
CI框架开发新浪微博登录接口源码完整版
May 28 PHP
PHP使用Alexa API获取网站的Alexa排名例子
Jun 12 PHP
php中rename函数用法分析
Nov 15 PHP
关于PHP中Session文件过多的问题及session文件保存位置
Mar 17 PHP
Netbeans 8.2与PHP相关的新特性介绍
Oct 08 PHP
Yii2 hasOne(), hasMany() 实现三表关联的方法(两种)
Feb 15 PHP
PHP实现获取第一个中文首字母并进行排序的方法
May 09 PHP
php利用ob_start()清除输出和选择性输出的方法
Jan 18 PHP
PHP程序员必须知道的两种日志实例分析
May 14 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 Smarty 字符比较代码
2011/02/27 PHP
5种PHP创建数组的实例代码分享
2014/01/17 PHP
thinkphp5.0自定义验证规则使用方法
2017/11/16 PHP
Jquery中显示隐藏的实现代码分析
2011/07/26 Javascript
jquery实现输入框动态增减的实例代码
2013/07/14 Javascript
jquery插件tooltipv顶部淡入淡出效果使用示例
2013/12/05 Javascript
JavaScript中使用typeof运算符需要注意的几个坑
2014/11/08 Javascript
Javascript基础教程之if条件语句
2015/01/18 Javascript
js中最容易被忽视的事件问题大总结
2016/05/15 Javascript
Javascript之BOM(window对象)详解
2016/05/25 Javascript
JS添加或修改控件的样式(Class)实现方法
2016/10/15 Javascript
微信小程序 radio单选框组件详解及实例代码
2017/01/10 Javascript
JavaScript ES6中export、import与export default的用法和区别
2017/03/14 Javascript
简单谈谈关于Angular Cli打包的事
2017/09/05 Javascript
vue2.0开发入门笔记之.vue文件的生成和使用
2017/09/19 Javascript
Three.js实现绘制字体模型示例代码
2017/09/26 Javascript
AngularJS自定义表单验证功能实例详解
2018/08/24 Javascript
Node.js fs模块原理及常见用途
2020/10/22 Javascript
如何在vue中使用kindeditor富文本编辑器
2020/12/19 Vue.js
[02:36]DOTA2混沌骑士 英雄基础教程
2013/11/26 DOTA
详解Python中的__new__()方法的使用
2015/04/09 Python
python字典get()方法用法分析
2015/04/17 Python
pygame实现俄罗斯方块游戏(对战篇1)
2019/10/29 Python
英国最大的在线蜡烛商店:Candles Direct
2019/03/26 全球购物
JSF如何进行表格处理及取值
2012/08/06 面试题
递归计算如下递归函数的值(斐波拉契)
2012/02/04 面试题
作为网站管理者应当如何防范XSS
2014/08/16 面试题
EJB的角色和三个对象
2015/12/31 面试题
党组织公开承诺书
2014/03/29 职场文书
节水倡议书
2015/01/19 职场文书
人事主管岗位职责
2015/02/04 职场文书
上诉状格式
2015/05/23 职场文书
关于观后感的作文
2015/06/18 职场文书
经典爱情感言
2015/08/03 职场文书
经典格言警句:没有热忱,世间便无进步
2019/11/13 职场文书
Python函数对象与闭包函数
2022/04/13 Python