feat: add article and production modules

This commit is contained in:
2026-08-31 13:16:46 +08:00
parent ac3da246b2
commit 5c586a1a95
334 changed files with 34419 additions and 1 deletions
@@ -0,0 +1,45 @@
<?php
declare(strict_types=1);
namespace plugin\article\app\validate;
use core\base\BaseValidate;
use Illuminate\Validation\Rule;
use plugin\article\app\model\Category;
class CategoryValidate extends BaseValidate
{
public function rules(): array
{
$id = request()->route?->param('id');
return [
'name' => ['required', 'max:100', Rule::unique(Category::class, 'name')->ignore($id, 'id')],
'slug' => ['nullable', 'max:100', Rule::unique(Category::class, 'slug')->ignore($id, 'id')],
'parent_id' => ['nullable', 'integer'],
'sort' => ['nullable', 'integer', 'min:0'],
'enabled' => ['nullable', 'integer', 'in:0,1'],
'description' => ['nullable', 'max:65535'],
];
}
protected array $message = [
'name.required' => '分类名称不能为空',
'name.max' => '分类名称不能超过100个字符',
'name.unique' => '分类名称已存在',
'slug.max' => '分类标识不能超过100个字符',
'slug.unique' => '分类标识已存在',
'parent_id.integer' => '父级分类格式不正确',
'sort.integer' => '排序必须为整数',
'sort.min' => '排序不能小于0',
'enabled.integer' => '状态格式不正确',
'enabled.in' => '状态值不正确',
'description.max' => '分类描述内容过长',
];
protected array $scene = [
'store' => ['name', 'slug', 'parent_id', 'sort', 'enabled', 'description'],
'update' => ['name', 'slug', 'parent_id', 'sort', 'enabled', 'description'],
];
}