87 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			PHP
		
	
	
		
		
			
		
	
	
			87 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			PHP
		
	
	
|  | <?php | ||
|  | 
 | ||
|  | namespace app\api\validate; | ||
|  | 
 | ||
|  | use app\common\basics\Validate; | ||
|  | use app\common\enum\CommunityArticleEnum; | ||
|  | use app\common\model\community\CommunityArticle; | ||
|  | use app\common\model\community\CommunityComment; | ||
|  | 
 | ||
|  | /** | ||
|  |  * 种草社区评论验证 | ||
|  |  * Class CommunityCommentValidate | ||
|  |  * @package app\api\validate | ||
|  |  */ | ||
|  | class CommunityCommentValidate extends Validate | ||
|  | { | ||
|  |     protected $rule = [ | ||
|  |         'article_id' => 'require|checkArticle', | ||
|  |         'comment' => 'require|max:150', | ||
|  |         'pid' => 'checkComment', | ||
|  |     ]; | ||
|  | 
 | ||
|  |     protected $message = [ | ||
|  |         'article_id.require' => '参数缺失', | ||
|  |         'comment.require' => '请输入评论内容', | ||
|  |         'comment.max' => '评论内容不可超过150字符', | ||
|  |     ]; | ||
|  | 
 | ||
|  | 
 | ||
|  |     public function sceneAdd() | ||
|  |     { | ||
|  |         return $this->only(['article_id', 'comment', 'pid']); | ||
|  |     } | ||
|  | 
 | ||
|  |     public function sceneLists() | ||
|  |     { | ||
|  |         return $this->only(['article_id']); | ||
|  |     } | ||
|  | 
 | ||
|  |     /** | ||
|  |      * @notes 校验文章 | ||
|  |      * @param $value | ||
|  |      * @param $rule | ||
|  |      * @param $data | ||
|  |      * @return bool|string | ||
|  |      * @author 段誉 | ||
|  |      * @date 2022/5/7 11:19 | ||
|  |      */ | ||
|  |     protected function checkArticle($value, $rule, $data) | ||
|  |     { | ||
|  |         $article = CommunityArticle::findOrEmpty($value); | ||
|  | 
 | ||
|  |         if ($article->isEmpty()) { | ||
|  |             return '种草内容不存在'; | ||
|  |         } | ||
|  | 
 | ||
|  |         if ($article['del'] == 1)  { | ||
|  |             return '该种草内容已被删除'; | ||
|  |         } | ||
|  | 
 | ||
|  |         return true; | ||
|  |     } | ||
|  | 
 | ||
|  | 
 | ||
|  |     /** | ||
|  |      * @notes 校验评论 | ||
|  |      * @param $value | ||
|  |      * @param $rule | ||
|  |      * @param $data | ||
|  |      * @return bool|string | ||
|  |      * @author 段誉 | ||
|  |      * @date 2022/5/7 11:22 | ||
|  |      */ | ||
|  |     protected function checkComment($value, $rule, $data) | ||
|  |     { | ||
|  |         if (empty($value)) { | ||
|  |             return true; | ||
|  |         } | ||
|  |         $comment = CommunityComment::findOrEmpty($value); | ||
|  |         if ($comment->isEmpty()) { | ||
|  |             return '回复评论不存在'; | ||
|  |         } | ||
|  |         return true; | ||
|  |     } | ||
|  | 
 | ||
|  | 
 | ||
|  | } |