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 相关文章推荐
把1316这个数表示成两个数的和,其中一个为13的倍数,另一个是11的倍数,求这两个数。
Jun 24 PHP
PHP取整数函数常用的四种方法小结
Jul 05 PHP
php写的带缓存数据功能的mysqli类
Sep 06 PHP
PHP错误提示的关闭方法详解
Jun 23 PHP
phpmyadmin配置文件现在需要绝密的短密码(blowfish_secret)的2种解决方法
May 07 PHP
解密ThinkPHP3.1.2版本之独立分组功能应用
Jun 19 PHP
PHP内核探索:哈希表碰撞攻击原理
Jul 31 PHP
php将数组存储为文本文件方法汇总
Oct 28 PHP
详解PHP的Yii框架中日志的相关配置及使用
Dec 08 PHP
在Yii2中使用Pjax导致Yii2内联脚本载入失败的原因分析
Mar 06 PHP
php简单截取字符串代码示例
Oct 19 PHP
thinkPHP5 tablib标签库自定义方法详解
May 10 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
ajax完美实现两个网页 分页功能的实例代码
2013/04/16 PHP
什么是PEAR?什么是PECL?PHP中两个容易混淆的概念解释
2015/07/01 PHP
php版微信公众平台接口参数调试实现判断用户行为的方法
2016/09/23 PHP
在html页面中包含共享页面的方法
2008/10/24 Javascript
基于jquery的修改当前TAB显示标题的代码
2010/12/11 Javascript
formValidator3.3的ajaxValidator一些异常分析
2011/07/12 Javascript
jquery基础教程之数组使用详解
2014/03/10 Javascript
vue制作加载更多功能的正确打开方式
2016/10/12 Javascript
利用Vue.js框架实现火车票查询系统(附源码)
2017/02/27 Javascript
jQuery.cookie.js使用方法及相关参数解释
2017/03/06 Javascript
SpringMVC+bootstrap table实例详解
2017/06/02 Javascript
微信小程序block的使用教程
2018/04/01 Javascript
element el-input directive数字进行控制
2018/10/11 Javascript
Vue 页面权限控制和登陆验证功能的实例代码
2019/06/20 Javascript
vue 移动端注入骨架屏的配置方法
2019/06/25 Javascript
JavaScript如何把两个数组对象合并过程解析
2019/10/10 Javascript
解决echarts图表使用v-show控制图表显示不全的问题
2020/07/19 Javascript
python字典基本操作实例分析
2015/07/11 Python
Python实现的连接mssql数据库操作示例
2018/08/17 Python
pyenv虚拟环境管理python多版本和软件库的方法
2019/12/26 Python
通过cmd进入python的步骤
2020/06/16 Python
EJB2和EJB3在架构上的不同点
2014/09/29 面试题
财务会计人员岗位职责
2013/11/30 职场文书
毕业生自荐书
2014/02/02 职场文书
元宵节主持词
2014/03/25 职场文书
讲文明树新风演讲稿
2014/05/12 职场文书
助理政工师申报材料
2014/06/03 职场文书
工地安全标语
2014/06/07 职场文书
工作检讨书范文
2015/01/23 职场文书
试用期自我评价范文
2015/03/10 职场文书
大学自主招生自荐信(2016精选篇)
2016/01/28 职场文书
2019求职信:应届生求职信范文
2019/04/24 职场文书
2019关于实习生工作安排及待遇的管理方案!
2019/07/16 职场文书
Nginx URL重写rewrite机制原理及使用实例
2021/04/01 Servers
java executor包参数处理功能 
2022/02/15 Java/Android
vue实现input输入模糊查询的三种方式
2022/08/14 Vue.js