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程序实现支持页面后退的两种方法
Jun 30 PHP
php header()函数使用说明
Jul 10 PHP
在PHP中利用wsdl创建标准webservice的实现代码
Dec 07 PHP
解析PHP中$_FILES的使用以及注意事项
Jul 05 PHP
php调用Google translate_tts api实现代码
Aug 07 PHP
浅析php与数据库代码开发规范
Aug 08 PHP
体育彩票排列三组选三算法分享
Mar 07 PHP
浅析PHP中Session可能会引起并发问题
Jul 23 PHP
[原创]php常用字符串输出方法分析(echo,print,printf及sprintf)
Jul 09 PHP
PHP+MySQL高并发加锁事务处理问题解决方法
Apr 30 PHP
使用Zookeeper分布式部署PHP应用程序
Mar 15 PHP
Laravel定时任务的每秒执行代码
Oct 22 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
回首过去10年中最搞笑的10部动漫,哪一部让你节操尽碎?
2020/03/03 日漫
15种PHP Encoder的比较
2007/04/17 PHP
php minixml详解
2008/07/19 PHP
php生成SessionID和图片校验码的思路和实现代码
2009/03/10 PHP
PHP 图像尺寸调整代码
2010/05/26 PHP
php printf输出格式使用说明
2010/12/05 PHP
php实现singleton()单例模式实例
2014/11/06 PHP
php微信公众平台开发之微信群发信息
2016/09/13 PHP
点弹代码 点击页面任何位置都可以弹出页面效果代码
2012/09/17 Javascript
js/jquery获取文本框输入焦点的方法
2014/03/04 Javascript
js防止DIV布局滚动时闪动的解决方法
2014/10/30 Javascript
javascript内置对象操作详解
2015/02/04 Javascript
JavaScript数据库TaffyDB用法实例分析
2015/07/27 Javascript
基于AngularJS+HTML+Groovy实现登录功能
2016/02/17 Javascript
原生JavaScript制作计算器
2016/10/16 Javascript
js窗口震动小程序分享
2016/11/28 Javascript
Vue动画事件详解及过渡动画实例
2019/02/09 Javascript
[00:10]DOTA2全国高校联赛 以DOTA2会友
2018/05/30 DOTA
采用python实现简单QQ单用户机器人的方法
2014/07/03 Python
Python中用pycurl监控http响应时间脚本分享
2015/02/02 Python
Python查询IP地址归属完整代码
2017/06/21 Python
python将.ppm格式图片转换成.jpg格式文件的方法
2018/10/27 Python
OpenCV HSV颜色识别及HSV基本颜色分量范围
2019/03/22 Python
使用python3调用wxpy模块监控linux日志并定时发送消息给群组或好友
2019/06/05 Python
Django模板标签{% for %}循环,获取制定条数据实例
2020/05/14 Python
jurlique茱莉蔻英国官网:澳洲天然护肤品
2018/08/03 全球购物
澳大利亚领先的武术用品和健身器材供应商:SMAI
2019/03/24 全球购物
交通安全标语
2014/06/06 职场文书
2014年大学教师工作总结
2014/12/02 职场文书
小学工作总结2015
2015/05/04 职场文书
婚姻出轨保证书
2015/05/08 职场文书
公司2015年终工作总结
2015/05/26 职场文书
英语投诉信范文
2015/07/03 职场文书
幼儿园教师教育随笔
2015/08/14 职场文书
Nginx+Tomcat负载均衡集群的实现示例
2021/10/24 Servers
mybatis 获取更新记录的id
2022/05/20 Java/Android