72 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			PHP
		
	
	
		
		
			
		
	
	
			72 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			PHP
		
	
	
| 
								 | 
							
								<?php
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								namespace app\admin\validate\community;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								use app\common\basics\Validate;
							 | 
						||
| 
								 | 
							
								use app\common\model\community\CommunityTopic;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * 种草社区话题验证
							 | 
						||
| 
								 | 
							
								 * Class CommunityTopicValidate
							 | 
						||
| 
								 | 
							
								 * @package app\admin\validate\community
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								class CommunityTopicValidate extends Validate
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    protected $rule = [
							 | 
						||
| 
								 | 
							
								        'id' => 'require|number',
							 | 
						||
| 
								 | 
							
								        'name' => 'require|max:12|unique:' . CommunityTopic::class . ',name^del',
							 | 
						||
| 
								 | 
							
								        'image' => 'require',
							 | 
						||
| 
								 | 
							
								        'cid' => 'require|number',
							 | 
						||
| 
								 | 
							
								        'is_show' => 'require|in:0,1',
							 | 
						||
| 
								 | 
							
								        'is_recommend' => 'require|in:0,1',
							 | 
						||
| 
								 | 
							
								        'sort' => 'egt:0',
							 | 
						||
| 
								 | 
							
								        'field' => 'require|checkUpdateField',
							 | 
						||
| 
								 | 
							
								        'value' => 'require|in:0,1',
							 | 
						||
| 
								 | 
							
								    ];
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    protected $message = [
							 | 
						||
| 
								 | 
							
								        'id.require' => 'id不可为空',
							 | 
						||
| 
								 | 
							
								        'id.number' => 'id必须为数字',
							 | 
						||
| 
								 | 
							
								        'name.require' => '请填写话题名称',
							 | 
						||
| 
								 | 
							
								        'name.max' => '话题名称长度不能超过12位',
							 | 
						||
| 
								 | 
							
								        'name.unique' => '话题名称已存在',
							 | 
						||
| 
								 | 
							
								        'image.require' => '请选择话题图标',
							 | 
						||
| 
								 | 
							
								        'cid.require' => '请选择关联分类',
							 | 
						||
| 
								 | 
							
								        'is_recommend.require' => '请选择是否推荐',
							 | 
						||
| 
								 | 
							
								        'is_recommend.in' => '推荐状态异常',
							 | 
						||
| 
								 | 
							
								        'is_show.require' => '请选择是否显示',
							 | 
						||
| 
								 | 
							
								        'is_show.in' => '显示状态异常',
							 | 
						||
| 
								 | 
							
								        'sort.egt' => '请填写大于等于0的排序值',
							 | 
						||
| 
								 | 
							
								        'field.egt' => '参数缺失',
							 | 
						||
| 
								 | 
							
								        'value.egt' => '参数缺失',
							 | 
						||
| 
								 | 
							
								        'value.in' => '状态值异常',
							 | 
						||
| 
								 | 
							
								    ];
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    protected $scene = [
							 | 
						||
| 
								 | 
							
								        'id' => ['id'],
							 | 
						||
| 
								 | 
							
								        'status' => ['id', 'field', 'value'],
							 | 
						||
| 
								 | 
							
								        'add' => ['name', 'image', 'cid', 'is_recommend', 'is_show', 'sort'],
							 | 
						||
| 
								 | 
							
								        'edit' => ['id', 'name', 'image', 'cid', 'is_recommend', 'is_show', 'sort']
							 | 
						||
| 
								 | 
							
								    ];
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * @notes 校验更新字段
							 | 
						||
| 
								 | 
							
								     * @param $value
							 | 
						||
| 
								 | 
							
								     * @param $rule
							 | 
						||
| 
								 | 
							
								     * @param $data
							 | 
						||
| 
								 | 
							
								     * @return bool|string
							 | 
						||
| 
								 | 
							
								     * @author 段誉
							 | 
						||
| 
								 | 
							
								     * @date 2022/4/28 15:13
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    protected function checkUpdateField($value, $rule, $data)
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        $allow_field = ['is_show', 'is_recommend'];
							 | 
						||
| 
								 | 
							
								        if (in_array($value, $allow_field)) {
							 | 
						||
| 
								 | 
							
								            return true;
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								        return '非法字段';
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 |