> */ public function rules(): array { return [ 'target_type' => ['required', 'string', Rule::in(Discussion::TARGET_TYPES)], 'target_id' => ['required', 'uuid'], 'type' => ['sometimes', 'string', Rule::in(Discussion::COMMENT_TYPES)], 'status' => ['sometimes', 'string', Rule::in(Discussion::STATUSES)], // 逗号分隔多选,如 error,warning 'severity' => ['sometimes', 'string', 'regex:/^[a-z]+(,[a-z]+)*$/'], 'sort' => ['sometimes', 'string', Rule::in(['created_at', '-created_at', 'updated_at', '-updated_at'])], 'page' => ['integer', 'min:1'], 'per_page' => ['integer', 'min:1', 'max:200'], ]; } }