suyuan/app/adminapi/validate/article/ArticleCateValidate.php

136 lines
3.6 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
// +----------------------------------------------------------------------
// | likeadmin快速开发前后端分离管理后台PHP版
// +----------------------------------------------------------------------
// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
// | 开源版本可自由商用可去除界面版权logo
// | gitee下载https://gitee.com/likeshop_gitee/likeadmin
// | github下载https://github.com/likeshop-github/likeadmin
// | 访问官网https://www.likeadmin.cn
// | likeadmin团队 版权所有 拥有最终解释权
// +----------------------------------------------------------------------
// | author: likeadminTeam
// +----------------------------------------------------------------------
namespace app\adminapi\validate\article;
use app\common\validate\BaseValidate;
use app\common\model\article\ArticleCate;
use app\common\model\article\Article;
/**
* 资讯分类管理验证
* Class ArticleCateValidate
* @package app\adminapi\validate\article
*/
class ArticleCateValidate extends BaseValidate
{
protected $rule = [
'id' => 'require|checkArticleCate',
'name' => 'require|length:1,90',
'is_show' => 'require|in:0,1',
'sort' => 'egt:0',
];
protected $message = [
'id.require' => '资讯分类id不能为空',
'name.require' => '资讯分类不能为空',
'name.length' => '资讯分类长度须在1-90位字符',
'sort.egt' => '排序值不正确',
];
/**
* @notes 添加场景
* @return ArticleCateValidate
* @author heshihu
* @date 2022/2/10 15:11
*/
public function sceneAdd()
{
return $this->remove(['id'])
->remove('id', 'require|checkArticleCate');
}
/**
* @notes 详情场景
* @return ArticleCateValidate
* @author heshihu
* @date 2022/2/21 17:55
*/
public function sceneDetail()
{
return $this->only(['id']);
}
/**
* @notes 更改状态场景
* @return ArticleCateValidate
* @author heshihu
* @date 2022/2/21 18:02
*/
public function sceneStatus()
{
return $this->only(['id', 'is_show']);
}
public function sceneEdit()
{
}
/**
* @notes 获取所有资讯分类场景
* @return ArticleCateValidate
* @author heshihu
* @date 2022/2/15 10:05
*/
public function sceneSelect()
{
return $this->only(['type']);
}
/**
* @notes 删除场景
* @return ArticleCateValidate
* @author heshihu
* @date 2022/2/21 17:52
*/
public function sceneDelete()
{
return $this->only(['id'])
->append('id', 'checkDeleteArticleCate');
}
/**
* @notes 检查指定资讯分类是否存在
* @param $value
* @return bool|string
* @author heshihu
* @date 2022/2/10 15:10
*/
public function checkArticleCate($value)
{
$article_category = ArticleCate::findOrEmpty($value);
if ($article_category->isEmpty()) {
return '资讯分类不存在';
}
return true;
}
/**
* @notes 删除时验证该资讯分类是否已使用
* @param $value
* @return bool|string
* @author heshihu
* @date 2022/2/22 14:45
*/
public function checkDeleteArticleCate($value)
{
$article = Article::where('cid', $value)->findOrEmpty();
if (!$article->isEmpty()) {
return '资讯分类已使用,请先删除绑定该资讯分类的资讯';
}
return true;
}
}