当前位置:首页 > CMS教程 > Thinkphp > 列表

thinkphp5.0自定义验证规则使用方法

发布:smiling 来源: PHP粉丝网  添加日期:2021-08-20 10:49:40 浏览: 评论:0 

本文主要讲了thinkphp5.0版本中自定义验证规则的使用方法和一些注意事项,我们在用thinkphp5.0时候,经常要自定义验证规则,这个写法与tp以前的版本有所区别,小编今天带来大家一起来学习一下5.0下验证规则的使用方法。

在thinkphp5中定义$rule(验证规则)有两种方式

方式一:

  1. $rule = [ 
  2.   // 不可以在此处定义空的验证 如 'name' => '',会导致出现result未定义错误 
  3.   'name' => 'require|max:25'
  4.   'age'  => 'number|between:1,120'
  5. ]; 

方式二:

  1. $rule = [ 
  2.   'name' => ['require','max'=>25], 
  3.   'age'  => ['number','between'=>'1,120'], 
  4. ]; 

如果方式一自定义验证规则的话,就可以这样写

  1. $rule = [ 
  2.   'name' => 'require|max:25|checkName:'
  3.   'age'  => 'number|between:1,120'
  4. ]; 
  5. protected function checkNmae($value
  6.   $value 是name值,可以在此处进行验证,如正则验证 

如果是方式二的话,写法如下

  1. $rule = [ 
  2.   'name' => ['require','max'=>25,'checkName'=>'$rule参数'], 
  3.   'age'  => ['number','between'=>'1,120'], 
  4.   'email' => ['require''checkUserEmail'=>'qq.com'], 
  5. ]; 
  6. protected function checkName($value$rule
  7.   $vaule 是name值,$rule为上面的$rule参数 
  8. protected function checkUserEmail($value,$rule
  9.   $res = preg_match('/^\w+([-+.]\w+)*@'.$rule.'$/'$value); 
  10.   if (!$res) { 
  11.     return '邮箱只能是'.$rule.'域名'
  12.   } else { 
  13.     return true; 
  14.   } 
  15. }

Tags: thinkphp5 0自定义验证规则

分享到: