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;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								}
							 |