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设计模式中的工厂模式
Jun 12 PHP
浅析php header 跳转
Jun 17 PHP
手把手教你打印出PDF(关于fpdf的简单应用)
Jun 25 PHP
测试php函数的方法
Nov 13 PHP
php中curl、fsocket、file_get_content三个函数的使用比较
May 09 PHP
ThinkPHP中自定义目录结构的设置方法
Aug 15 PHP
PHP数组与对象之间使用递归实现转换的方法
Jun 24 PHP
PHP实现的简单缓存类
Jul 29 PHP
phalcon框架使用指南
Feb 23 PHP
利用Laravel事件系统如何实现登录日志的记录详解
May 20 PHP
Laravel 5.5 实现禁用用户注册示例
Oct 24 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实现的MySQL通用查询程序
2007/03/11 PHP
js下函数般调用正则的方法附代码
2008/06/22 PHP
php中var_export与var_dump的区别分析
2010/08/21 PHP
深入了解 register_globals (附register_globals=off 网站打不开的解决方法)
2012/06/27 PHP
Javascript与vbscript数据共享
2007/01/09 Javascript
070823更新的一个[消息提示框]组件 兼容ie7
2007/08/29 Javascript
jquery提升性能最佳实践小结
2010/12/06 Javascript
js前台分页显示后端JAVA数据响应
2013/03/18 Javascript
jquery实现网站超链接和图片提示效果
2013/03/21 Javascript
jquery中对于批量deferred的处理方法
2014/01/22 Javascript
使用cluster 将自己的Node服务器扩展为多线程服务器
2014/11/10 Javascript
浅谈下拉菜单中的Option对象
2015/05/10 Javascript
jQuery旋转插件jqueryrotate用法详解
2016/10/13 Javascript
微信小程序 Page()函数详解
2016/10/17 Javascript
[原创]JavaScript语法高亮插件highlight.js用法详解【附highlight.js本站下载】
2016/11/01 Javascript
jQuery Validate设置onkeyup验证的实例代码
2016/12/09 Javascript
javascript实现考勤日历功能
2018/11/29 Javascript
用node撸一个监测复联4开售短信提醒的实现代码
2019/04/10 Javascript
vue 中 beforeRouteEnter 死循环的问题
2019/04/23 Javascript
vue实现路由不变的情况下,刷新页面操作示例
2020/02/02 Javascript
跟老齐学Python之用while来循环
2014/10/02 Python
Python实用日期时间处理方法汇总
2015/05/09 Python
python3抓取中文网页的方法
2015/07/28 Python
Python面向对象程序设计类的封装与继承用法示例
2019/04/12 Python
Python提取PDF内容的方法(文本、图像、线条等)
2019/09/25 Python
python之array赋值技巧分享
2019/11/28 Python
详解CSS透明opacity和IE各版本透明度滤镜filter的最准确用法
2016/12/20 HTML / CSS
彪马美国官网:PUMA美国
2017/03/09 全球购物
介绍一下Cookie和Session及他们之间的区别
2012/11/20 面试题
经济与贸易专业应届生求职信
2013/11/19 职场文书
寄语学生的话
2014/04/10 职场文书
会计系毕业生求职信
2014/05/28 职场文书
纪律教育学习心得体会
2014/09/02 职场文书
公司的门卫岗位职责
2014/09/09 职场文书
优秀团支部申报材料
2014/12/26 职场文书
Consul在linux环境的集群部署
2022/04/08 Servers