diff --git a/changelogs/2026-03/2026-03-22_insurance_scheme_frontend_fix.md b/changelogs/2026-03/2026-03-22_insurance_scheme_frontend_fix.md new file mode 100644 index 0000000..4d008e0 --- /dev/null +++ b/changelogs/2026-03/2026-03-22_insurance_scheme_frontend_fix.md @@ -0,0 +1,42 @@ +# 保险方案编辑页 — 前端表单校验问题 + +**日期**: 2026-03-22 +**页面**: 保险管理 → 保险方案 → 编辑方案 +**类型**: 前端 BUG + +--- + +## 问题描述 + +保险方案编辑页面,保险段配置中的数值字段缺少前端校验,允许输入负数或不合理值。 + +### 需要修复的字段 + +| 字段 | 当前问题 | 校验规则 | +|------|---------|---------| +| 起始天 | 可输入负数或0 | `>= 1`,整数 | +| 结束天 | 可输入负数(截图中出现 `-1`) | `>= 起始天`,整数 | +| 排序 | 可输入负数 | `>= 0`,整数 | + +### 交叉校验 +- **结束天 >= 起始天**:结束天不能小于起始天 +- **段之间不能重叠**:第2段的起始天应 > 第1段的结束天 + +### 建议前端处理方式 + +1. `` 组件设置 `:min="1"` 防止负数输入 +2. 结束天的 `:min` 动态绑定为当前段的起始天值 +3. 保存前做表单级校验,提示具体哪个段有问题 + +### 后端校验(已加) + +后端已增加 `@Min` 校验,如果前端没拦住,后端会返回 400: +```json +{ + "code": 400, + "message": "参数校验失败", + "data": { "endDay": "结束天不能为负数" } +} +``` + +建议前端也加上校验,避免用户填完才发现不对。