Files
xin-school/modules/Task/Http/Requests/TaskCategoryFormRequest.php
2026-06-17 10:35:13 +08:00

52 lines
1.5 KiB
PHP

<?php
namespace Modules\Task\Http\Requests;
use Illuminate\Validation\Rule;
use Modules\Common\Http\Requests\BaseFormRequest;
class TaskCategoryFormRequest extends BaseFormRequest
{
protected $stopOnFirstFailure = true;
public function rules(): array
{
if (!$this->isUpdate()) {
return [
'name' => 'required|string|max:50',
'slug' => 'required|string|max:50|unique:task_categories,slug',
'description' => 'nullable|string|max:255',
'icon' => 'nullable|string|max:255',
'form_schema' => 'nullable|json',
'sort' => 'nullable|integer|min:0',
'status' => 'nullable|integer|in:0,1',
];
}
$id = $this->route('id');
return [
'name' => 'required|string|max:50',
'slug' => [
'required',
'string',
'max:50',
Rule::unique('task_categories', 'slug')->ignore($id),
],
'description' => 'nullable|string|max:255',
'icon' => 'nullable|string|max:255',
'form_schema' => 'nullable|json',
'sort' => 'nullable|integer|min:0',
'status' => 'nullable|integer|in:0,1',
];
}
public function messages(): array
{
return [
'name.required' => '分类名称不能为空',
'slug.required' => '分类标识不能为空',
'slug.unique' => '分类标识已存在',
];
}
}