53 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			PHP
		
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			PHP
		
	
	
| <?php
 | |
| 
 | |
| namespace app\validate;
 | |
| 
 | |
| use app\model\CommentRule;
 | |
| use think\Validate;
 | |
| use app\model\Comment as CommentModel;
 | |
| 
 | |
| class Comment extends Validate
 | |
| {
 | |
|     protected $rule = [
 | |
|         'comment|评论内容'                 => 'require|checkComment|max:1024',
 | |
|         'user_code|用户'                   => 'require|length:32',
 | |
|         'url|图片文件地址'                 => 'length:0,255',
 | |
|         'type|类型'                        => 'require|checkType',
 | |
|         'lng|定位信息'                      => 'require',
 | |
|         'lat|定位信息'                      => 'require',
 | |
|         'location|位置信息'                 => 'length:0,200',
 | |
|     ];
 | |
| 
 | |
|     protected $scene = [
 | |
|         'edit_password' => ['old_password', 'password', 'confirm_password'], //修改密码
 | |
|     ];
 | |
| 
 | |
|     protected function checkType($value,$rule,$data=[])
 | |
|     {
 | |
|         return isset(CommentModel::allType()[$value]) ? true : '评论类型错误';
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * 检查评论规则
 | |
|      * */
 | |
|     protected function checkComment($value,$rule,$data=[])
 | |
|     {
 | |
|         $rule = CommentRule::where("state",CommentRule::COMMON_ON)->select();
 | |
|         if($rule->isEmpty()){
 | |
|             return true;
 | |
|         }
 | |
|         foreach ($rule as $item){
 | |
|             $font = explode("|",$item["rule"]);
 | |
|             foreach ($font as $ruleItem){
 | |
|                 if(empty(trim($ruleItem))){
 | |
|                     continue;
 | |
|                 }
 | |
|                 if(strpos($value,trim($ruleItem))!=false){
 | |
|                     return "评论内容不能包含敏感词语";
 | |
|                 }
 | |
|             }
 | |
|         }
 | |
|         return true;
 | |
| 
 | |
|     }
 | |
| } |