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文件上传实例详解!!!
Jan 02 PHP
php上的memcache和memcached两个pecl库
Mar 29 PHP
php FLEA中二叉树数组的遍历输出
Sep 26 PHP
php用正则表达式匹配中文实例详解
Nov 06 PHP
ThinkPHP模板判断输出Defined标签用法详解
Jun 30 PHP
PHP使用flock实现文件加锁的方法
Jul 01 PHP
PHP自毁程序(慎用)
Jul 09 PHP
php opendir()列出目录下所有文件的实例代码
Oct 02 PHP
使用php实现网站验证码功能【推荐】
Feb 09 PHP
PHP编辑器PhpStrom运行缓慢问题
Feb 21 PHP
PHP实现求两个字符串最长公共子串的方法示例
Nov 17 PHP
php7 参数、整形及字符串处理机制修改实例分析
May 25 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/03/23 PHP
php5.4以上版本GBK编码下htmlspecialchars输出为空问题解决方法汇总
2015/04/03 PHP
Laravel框架实现多个视图共享相同数据的方法详解
2019/07/09 PHP
jquery淡入淡出效果简单实例
2016/01/14 Javascript
Vue实现数字输入框中分割手机号码的示例
2017/10/10 Javascript
vue+axios+mock.js环境搭建的方法步骤
2018/08/28 Javascript
js 实现在2d平面上画8的方法
2018/10/10 Javascript
如何写好一个vue组件,老夫的一年经验全在这了(推荐)
2019/05/18 Javascript
js实现直播点击飘心效果
2020/08/19 Javascript
NodeJS开发人员常见五个错误理解
2020/10/14 NodeJs
vue项目实现减少app.js和vender.js的体积操作
2020/11/12 Javascript
Python实现的彩票机选器实例
2015/06/17 Python
qpython3 读取安卓lastpass Cookies
2016/06/19 Python
Python中音频处理库pydub的使用教程
2017/06/07 Python
python实现彩票系统
2020/06/28 Python
学生信息管理系统Python面向对象版
2019/01/30 Python
Python中生成一个指定长度的随机字符串实现示例
2019/11/06 Python
python eventlet绿化和patch原理
2020/11/21 Python
详解canvas绘图时遇到的跨域问题
2018/03/22 HTML / CSS
html5中嵌入视频自动播放的问题解决
2020/05/25 HTML / CSS
北美三大旅游网站之一:Travelocity加拿大
2016/08/20 全球购物
Zalando Lounge瑞士:时尚与生活方式购物俱乐部
2020/03/12 全球购物
C# .NET面试题
2015/11/28 面试题
大学本科毕业生的自我鉴定范文
2013/11/19 职场文书
生物技术专业毕业生求职信范文
2013/12/14 职场文书
致跳远、跳高运动员广播稿
2014/01/09 职场文书
学习新党章思想汇报
2014/01/09 职场文书
出生公证书样本
2014/04/04 职场文书
超市开店计划书
2014/04/26 职场文书
舞蹈兴趣小组活动总结
2014/07/07 职场文书
反腐倡廉警示教育活动心得体会
2014/09/04 职场文书
股权转让协议范本
2014/12/07 职场文书
民主生活会意见
2015/06/05 职场文书
参加招聘会后的感想
2015/08/10 职场文书
详解Nginx 工作原理
2021/03/31 Servers
MySQL CHAR和VARCHAR该如何选择
2021/05/31 MySQL