API 入参校验设计(免费版)
输入
| 规则 | 适用 | 说明 |
|---|---|---|
| required | 全部 | 缺失或空串即报 required |
| type | 全部 | int/float/bool/string/list |
| min/max | 数值/字符串/列表 | 数值比大小,字符串列表比长度 |
| enum | 全部 | 值必须在允许集合内 |
| regex | 字符串 | 正则匹配(如手机号) |
输出
{valid: 是否全通过, errors: {字段: [错误码...]}}
工作流
- 逐字段校验,错误聚合返回,不遇错即停,前端一次定位全部问题。
- 非必填字段缺失直接放行,不做后续校验。
- 校验在服务端强制执行,前端校验仅体验、不能替代。
硬性规则
- 布尔值(True/False)不得通过 int 类型校验(bool是int子类的坑)。
- 校验失败不得写库,返回422与字段级错误。
- 字符串长度按字符数计,数值范围含边界(min≤x≤max)。
- 正则只做格式校验,身份证/手机号等需配合校验位/号段。
示例
age=200、规则max=120 → max错误
role="guest"、enum=[admin,user] → enum错误
非必填email缺失 → 放行无错误