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中文件上传的安全问题
Oct 09 PHP
php 正则表达式小结
Aug 31 PHP
php中定义网站根目录的常用方法
Aug 08 PHP
PHP中设置时区,记录日志文件的实现代码
Jan 07 PHP
php数组函数array_key_exists()小结
Dec 10 PHP
PHP 常用时间函数资料整理
Oct 22 PHP
PHP实现防盗链的方法分析
Jul 25 PHP
laravel 5异常错误:FatalErrorException in Handler.php line 38的解决
Oct 12 PHP
PHP htmlspecialchars() 函数实例代码及用法大全
Sep 18 PHP
Laravel框架实现多数据库连接操作详解
Jul 12 PHP
PHP使用递归按层级查找数据的方法
Nov 10 PHP
Yii框架 session 数据库存储操作方法示例
Nov 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中文验证码实现方法
2015/06/18 PHP
深入探究PHP的多进程编程方法
2015/08/18 PHP
PHP创建word文档的方法(平台无关)
2016/03/29 PHP
php 读写json文件及修改json的方法
2018/03/07 PHP
PHP 布尔值的自增与自减的实现方法
2018/05/03 PHP
ThinkPHP 5.1 跨域配置方法
2019/10/11 PHP
正负小数点后两位浮点数实现原理及代码
2013/09/06 Javascript
JS替换字符串中字符即替换全部而不是第一个
2014/06/04 Javascript
html的DOM中document对象forms集合用法实例
2015/01/21 Javascript
JS+CSS实现模仿浏览器网页字符查找功能的方法
2015/02/26 Javascript
AngularJS教程 ng-style 指令简单示例
2016/08/03 Javascript
jQuery纵向导航菜单效果实现方法
2016/12/19 Javascript
超简单的Vue.js环境搭建教程
2017/03/17 Javascript
jQuery Tree Multiselect使用详解
2017/05/02 jQuery
jQuery实现锚点向下平滑滚动特效示例
2017/08/29 jQuery
Js中将Long转换成日期格式的实现方法
2018/06/05 Javascript
深入理解Python中各种方法的运作原理
2015/06/15 Python
Python从Excel中读取日期一列的方法
2018/11/28 Python
python给微信好友定时推送消息的示例
2019/02/20 Python
浅谈在JupyterNotebook下导入自己的模块的问题
2020/04/16 Python
Python 按比例获取样本数据或执行任务的实现代码
2020/12/03 Python
flask项目集成swagger的方法
2020/12/09 Python
python日志通过不同的等级打印不同的颜色(示例代码)
2021/01/13 Python
一款简洁的纯css3代码实现的动画导航
2014/10/31 HTML / CSS
HTML5本地存储localStorage、sessionStorage基本用法、遍历操作、异常处理等
2014/05/08 HTML / CSS
常用UNIX 命令(Linux的常用命令)
2013/07/10 面试题
公司优秀员工获奖感言
2014/08/14 职场文书
2014年环保工作总结
2014/11/26 职场文书
2015年度优秀员工自荐书
2015/03/06 职场文书
幼儿园端午节活动总结
2015/05/05 职场文书
2015年房产经纪人工作总结
2015/05/15 职场文书
当幸福来敲门英文观后感
2015/06/01 职场文书
2016年中学法制宣传日活动总结
2016/04/01 职场文书
情侣餐厅的创业计划书范本!
2019/07/26 职场文书
《乙女游戏世界对路人角色很不友好》OP主题曲无字幕动画MV公开
2022/04/05 日漫
nginx 添加http_stub_status_module模块
2022/05/25 Servers