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对象类型判断
Aug 27 PHP
php cc攻击代码与防范方法
Oct 18 PHP
解析mysql中UNIX_TIMESTAMP()函数与php中time()函数的区别
Jun 24 PHP
PHP使用DOMDocument类生成HTML实例(包含常见标签元素)
Jun 25 PHP
php获取一个变量的名字的方法
Sep 05 PHP
递归实现php数组转xml的代码分享
May 14 PHP
使用Thinkphp框架开发移动端接口
Aug 05 PHP
大家须知简单的php性能优化注意点
Jan 04 PHP
PHPStorm+XDebug进行调试图文教程
Jun 13 PHP
php-fpm开启状态统计的方法详解
Jun 23 PHP
PHP基于phpqrcode类生成二维码的方法详解
Mar 14 PHP
PHP自动生成缩略图函数的源码示例
Mar 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
支持生僻字且自动识别utf-8编码的php汉字转拼音类
2014/06/27 PHP
ThinkPHP模板Switch标签用法示例
2014/06/30 PHP
PHP中读取文件的8种方法和代码实例
2014/08/05 PHP
php版微信自定义回复功能示例
2016/12/05 PHP
Laravel 解决419错误 -ajax请求错误的问题(CSRF验证)
2019/10/25 PHP
Html中JS脚本执行顺序简单举例说明
2010/06/19 Javascript
自己动手制作jquery插件之自动添加删除行的实现
2011/10/13 Javascript
JS和JQUERY获取页面大小,滚动条位置,元素位置(示例代码)
2013/12/14 Javascript
js的flv视频播放器插件使用方法
2015/06/23 Javascript
jQuery中cookie插件用法实例分析
2015/12/04 Javascript
剖析Node.js异步编程中的回调与代码设计模式
2016/02/16 Javascript
使用HTML5+Boostrap打造简单的音乐播放器
2016/08/05 Javascript
JS原生数据双向绑定实现代码
2017/08/14 Javascript
AjaxFileUpload.js实现异步上传文件功能
2019/04/19 Javascript
解决Vue中的生命周期beforeDestory不触发的问题
2020/07/21 Javascript
Vue filter 过滤器、以及在table中的使用介绍
2020/09/07 Javascript
JavaScript对象访问器Getter及Setter原理解析
2020/12/08 Javascript
python pickle 和 shelve模块的用法
2013/09/16 Python
Python中无限元素列表的实现方法
2014/08/18 Python
Python实现测试磁盘性能的方法
2015/03/12 Python
仅利用30行Python代码来展示X算法
2015/04/01 Python
对numpy中布尔型数组的处理方法详解
2018/04/17 Python
python中使用psutil查看内存占用的情况
2018/06/11 Python
终端命令查看TensorFlow版本号及路径的方法
2018/06/13 Python
Python制作词云图代码实例
2019/09/09 Python
Python利用matplotlib绘制约数个数统计图示例
2019/11/26 Python
Django 解决新建表删除后无法重新创建等问题
2020/05/21 Python
Alba Moda瑞士网上商店:独家意大利时尚女装销售
2016/11/28 全球购物
丝芙兰新加坡官网:Sephora新加坡
2018/12/04 全球购物
UNIX文件类型
2013/08/29 面试题
学生党支部先进事迹
2014/02/04 职场文书
劲霸男装广告词
2014/03/21 职场文书
护士实习求职信
2014/06/22 职场文书
2015年生产车间工作总结
2015/04/22 职场文书
2019年鼓励无偿献血倡议书
2019/09/17 职场文书
MySQL 数据恢复的多种方法汇总
2021/06/21 MySQL