e148fca429
## 主要改进 ### 1. 增强 createRuleGroup 函数 - ✅ 名称长度验证(1-100字符) - ✅ 编码格式验证(只允许字母、数字、连字符、下划线) - ✅ 编码长度验证(1-50字符) - ✅ 编码唯一性验证(查询数据库确保不重复) - ✅ 父级ID存在性验证(二级分组必须有有效的父级) - ✅ 三级分组防护(不允许在二级分组下创建子分组) - ✅ 数据库约束错误友好提示 ### 2. 增强 updateRuleGroup 函数 - ✅ ID有效性验证(检查分组是否存在) - ✅ 名称长度验证(1-100字符) - ✅ 编码格式验证(只允许字母、数字、连字符、下划线) - ✅ 编码长度验证(1-50字符) - ✅ 编码唯一性验证(排除自身) - ✅ **禁止修改pid**(防止分组层级混乱) - ✅ 数据库约束错误友好提示 - ✅ 提供清晰的错误消息 ### 3. 类型安全性改进 - ✅ 修复所有 TypeScript 类型错误 - ✅ 添加类型守卫防止 undefined 访问 - ✅ 确保所有返回值类型正确 ## 验证规则 ### 分组名称 - 必填,不能为空 - 长度:1-100字符 - 自动去除首尾空格 ### 分组编码 - 必填,不能为空 - 长度:1-50字符 - 格式:只允许字母、数字、连字符(-)、下划线(_) - 必须全局唯一 - 自动去除首尾空格 ### 父级ID - 一级分组:pid = null 或 '0' - 二级分组:pid = 有效的父级分组ID - 不允许三级分组 - **更新时不允许修改pid** ## 相关文件 - app/api/evaluation_points/rule-groups.ts ## 验收清单 - [x] TypeScript 类型检查通过 - [x] 完整的字段验证 - [x] 编码唯一性验证 - [x] 父级ID验证 - [x] 禁止修改pid - [x] 友好的错误提示 Co-Authored-By: Claude <noreply@anthropic.com>