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 '非法字段';
 | 
						|
    }
 | 
						|
} |