起始天/结束天允许负数,结束天出现-1。需要前端加 min 校验和交叉校验。 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
43 行
1.2 KiB
Markdown
43 行
1.2 KiB
Markdown
# 保险方案编辑页 — 前端表单校验问题
|
||
|
||
**日期**: 2026-03-22
|
||
**页面**: 保险管理 → 保险方案 → 编辑方案
|
||
**类型**: 前端 BUG
|
||
|
||
---
|
||
|
||
## 问题描述
|
||
|
||
保险方案编辑页面,保险段配置中的数值字段缺少前端校验,允许输入负数或不合理值。
|
||
|
||
### 需要修复的字段
|
||
|
||
| 字段 | 当前问题 | 校验规则 |
|
||
|------|---------|---------|
|
||
| 起始天 | 可输入负数或0 | `>= 1`,整数 |
|
||
| 结束天 | 可输入负数(截图中出现 `-1`) | `>= 起始天`,整数 |
|
||
| 排序 | 可输入负数 | `>= 0`,整数 |
|
||
|
||
### 交叉校验
|
||
- **结束天 >= 起始天**:结束天不能小于起始天
|
||
- **段之间不能重叠**:第2段的起始天应 > 第1段的结束天
|
||
|
||
### 建议前端处理方式
|
||
|
||
1. `<el-input-number>` 组件设置 `:min="1"` 防止负数输入
|
||
2. 结束天的 `:min` 动态绑定为当前段的起始天值
|
||
3. 保存前做表单级校验,提示具体哪个段有问题
|
||
|
||
### 后端校验(已加)
|
||
|
||
后端已增加 `@Min` 校验,如果前端没拦住,后端会返回 400:
|
||
```json
|
||
{
|
||
"code": 400,
|
||
"message": "参数校验失败",
|
||
"data": { "endDay": "结束天不能为负数" }
|
||
}
|
||
```
|
||
|
||
建议前端也加上校验,避免用户填完才发现不对。
|