refactor: 文章分类新增/更新添加图片及唯一标识
This commit is contained in:
@@ -76,13 +76,18 @@ class ArticleCategory
|
|||||||
public function save()
|
public function save()
|
||||||
{
|
{
|
||||||
$post = request()->post([
|
$post = request()->post([
|
||||||
|
'unique_label',
|
||||||
'name',
|
'name',
|
||||||
|
'icon',
|
||||||
'pid',
|
'pid',
|
||||||
'sort' => 0,
|
'sort' => 0,
|
||||||
'is_show' => 1
|
'is_show' => 1
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$data = array_merge($post, ['language_id' => request()->lang_id]);
|
$data = array_merge($post, [
|
||||||
|
'language_id' => request()->lang_id,
|
||||||
|
'unique_label' => $post['unique_label'] ?? uniqid('BANNER_')
|
||||||
|
]);
|
||||||
$valiate = new ArticleCategoryValidate;
|
$valiate = new ArticleCategoryValidate;
|
||||||
if (!$valiate->scene('add')->check($data)) {
|
if (!$valiate->scene('add')->check($data)) {
|
||||||
return error($valiate->getError());
|
return error($valiate->getError());
|
||||||
@@ -101,6 +106,7 @@ class ArticleCategory
|
|||||||
$id = request()->param('id');
|
$id = request()->param('id');
|
||||||
$put = request()->put([
|
$put = request()->put([
|
||||||
'name',
|
'name',
|
||||||
|
'icon',
|
||||||
'pid',
|
'pid',
|
||||||
'sort',
|
'sort',
|
||||||
'is_show'
|
'is_show'
|
||||||
@@ -108,7 +114,7 @@ class ArticleCategory
|
|||||||
$data = array_merge($put, ['language_id' => request()->lang_id]);
|
$data = array_merge($put, ['language_id' => request()->lang_id]);
|
||||||
|
|
||||||
$valiate = new ArticleCategoryValidate;
|
$valiate = new ArticleCategoryValidate;
|
||||||
if (!$valiate->check(array_merge($data, ['id' => $id]))) {
|
if (!$valiate->scene('edit')->check(array_merge($data, ['id' => $id]))) {
|
||||||
return error($valiate->getError());
|
return error($valiate->getError());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -19,7 +19,9 @@ class ArticleCategoryValidate extends Validate
|
|||||||
'id' => 'require|integer',
|
'id' => 'require|integer',
|
||||||
'language_id' => 'require|integer',
|
'language_id' => 'require|integer',
|
||||||
'name' => 'require|unique:article_category,name^language_id|max:64',
|
'name' => 'require|unique:article_category,name^language_id|max:64',
|
||||||
|
'icon' => 'max:125',
|
||||||
'pid' => 'integer|different:id|checkPidNotBeChildren', // 验证pid
|
'pid' => 'integer|different:id|checkPidNotBeChildren', // 验证pid
|
||||||
|
'unique_label' => 'require|max:64',
|
||||||
'sort' => 'require|integer',
|
'sort' => 'require|integer',
|
||||||
'is_show' => 'require|in:0,1',
|
'is_show' => 'require|in:0,1',
|
||||||
'seo_title' => 'max:255',
|
'seo_title' => 'max:255',
|
||||||
@@ -41,9 +43,12 @@ class ArticleCategoryValidate extends Validate
|
|||||||
'name.require' => '分类名称不能为空',
|
'name.require' => '分类名称不能为空',
|
||||||
'name.unique' => '分类名称已存在',
|
'name.unique' => '分类名称已存在',
|
||||||
'name.max' => '分类名称最多64个字符',
|
'name.max' => '分类名称最多64个字符',
|
||||||
|
'icon.max' => '分类图片最多125个字符',
|
||||||
'pid.integer' => '父级分类ID必须为整数',
|
'pid.integer' => '父级分类ID必须为整数',
|
||||||
'pid.different' => '父级分类ID不能为自身',
|
'pid.different' => '父级分类ID不能为自身',
|
||||||
'pid.checkPidNotBeChildren' => '父级分类不能为自身或自身的子分类',
|
'pid.checkPidNotBeChildren' => '父级分类不能为自身或自身的子分类',
|
||||||
|
'unique_label.require' => '分类唯一标识不能为空',
|
||||||
|
'unique_label.max' => '分类唯一标识最多64个字符',
|
||||||
'sort.require' => '排序不能为空',
|
'sort.require' => '排序不能为空',
|
||||||
'sort.integer' => '排序必须为整数',
|
'sort.integer' => '排序必须为整数',
|
||||||
'is_show.require' => '是否显示不能为空',
|
'is_show.require' => '是否显示不能为空',
|
||||||
@@ -84,4 +89,10 @@ class ArticleCategoryValidate extends Validate
|
|||||||
{
|
{
|
||||||
$this->remove('id', 'require|integer')->remove('pid', 'different|checkPidNotBeChildren');
|
$this->remove('id', 'require|integer')->remove('pid', 'different|checkPidNotBeChildren');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 更新分类验证场景
|
||||||
|
protected function sceneEdit()
|
||||||
|
{
|
||||||
|
$this->remove('unique_label', 'require|max:64');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ class ArticleCategoryBaseModel extends BaseModel
|
|||||||
'id' => 'int',
|
'id' => 'int',
|
||||||
'language_id' => 'int',
|
'language_id' => 'int',
|
||||||
'pid' => 'int',
|
'pid' => 'int',
|
||||||
|
'unique_label' => 'string',
|
||||||
'name' => 'string',
|
'name' => 'string',
|
||||||
'short_name' => 'string',
|
'short_name' => 'string',
|
||||||
'icon' => 'string',
|
'icon' => 'string',
|
||||||
|
|||||||
Reference in New Issue
Block a user