ERP里最难处理的数据错误,往往不是把“数量”录成了字母,而是每个字段单看都合法,组合起来却不符合业务:采购数量是正数、单位也在选项里,但物料实际只能按箱采购;交货日期格式正确,却早于订单日期。字段校验真正要解决的,不是让输入框看起来更严格,而是把业务约束变成系统可执行、出错可解释、规则可维护的控制。
我设计字段校验时,首先会问:这条规则能否被明确描述、能否由系统稳定判断、判断错了会造成什么后果?答案清楚,才适合自动校验。否则,硬把模糊的管理要求塞进字段规则,最后常见的不是数据更准确,而是用户反复找人放行。
例如,“供应商名称必须准确”不是一条可直接配置的规则。它需要拆成更具体的判断:供应商是否存在于有效主数据中、当前组织是否允许使用、供应商状态是否有效、是否能用于当前采购类别。每一项判断的来源和责任人都可能不同。
一条好规则至少要说明适用对象、触发条件、执行时点、失败处理方式和例外路径。缺少其中任何一项,配置人员都容易只做出“能拦截”的规则,却做不出能被业务接受的流程。
实际规划时,我会把规则拆成四层:字段本身、字段之间、记录与主数据之间、单据与流程之间。层级不同,数据来源和实现位置通常不同。把所有约束都写在单个输入框上,既难维护,也容易漏掉跨单据的条件。
| 校验层级 | 典型问题 | 常见处理位置 | 设计时要确认 |
|---|---|---|---|
| 单字段 | 必填、格式、长度、数值范围、枚举值 | 录入表单或字段控件 | 规则是否对所有业务类型都适用 |
| 字段间 | 结束日期早于开始日期、数量与单位不匹配 | 表单逻辑或业务规则层 | 是否存在合理例外 |
| 记录与主数据 | 物料已停用、客户不属于当前组织 | 主数据服务或规则服务 | 主数据状态和权限从哪里读取 |
| 单据与流程 | 重复请购、超预算、来源单据状态不允许下游操作 | 提交校验、流程节点或接口服务 | 是否需要锁定、审批或跨系统核对 |
这张表的关键不在于把规则分得多细,而在于先找出“谁掌握判断所需的信息”。如果规则依赖供应商实时状态,却只在浏览器里检查下拉选项,用户仍可能绕过页面从接口提交。字段校验必须放在数据真正进入系统的控制边界上。
不是所有不符合规则的数据都应该禁止保存。格式错误、引用不存在的物料、负数数量等通常可以直接拦截;金额超过部门预算上限,则可能需要提示、审批或授权例外;备注不够规范则可能更适合提醒而不是阻断。
我会按“错误发生概率 × 后果严重度 × 可逆性”判断控制强度。高概率、高损失且难以追回的错误,应更早、更强地拦截;低风险、可修正、业务确有弹性的情况,则应优先提示或转人工审批。

假设同一种原料在采购、仓储和生产环节分别使用“袋、公斤、吨”三个单位。录入员填的单位可能完全符合下拉列表,但如果系统没有清楚规定基础单位、采购单位和换算关系,后续库存余额仍可能算错。此时问题不是选项控件不够严格,而是单位口径和换算数据没有治理好。
类似问题还会出现在物料编码、组织归属、税率、币种、有效日期和客户分类上。用户在表单上做选择,只能说明他选择了一个系统提供的值,不能自动证明这个值对当前业务有效。字段校验要依赖可信的主数据和明确的业务口径;输入界面只是规则的一个执行入口。
ERP中的单据不是孤立表单。采购申请可能生成采购订单,采购订单关联收货单,收货单再更新库存和应付。上游一个字段的含义不清,往往会在下游变成单位不一致、数量对不上、无法结算或库存差异。
因此,我不会只在“用户录入时”讨论校验,还会沿着单据生命周期检查:草稿能不能保存、提交时要检查什么、审批时哪些条件需要复核、下游生成时是否要再次确认来源单据状态。每一处校验都应该有具体目的,而不是复制同一条规则。
限制越多,输入路径越窄,理论上无效值更难进入系统;但规则越严格,用户遇到临时业务、历史补录或数据迁移时越容易被阻断。若每次例外都要找管理员改规则,最终可能出现线下表格、共享账号或绕开系统的做法,反而让数据链条更难追踪。
我会把“正常路径”和“例外路径”分开设计。正常交易走自动校验,确有业务理由的例外则要求说明原因、限定权限、保留操作记录。这样做不是放松控制,而是让例外也进入可管理的流程。

必填只能防止字段空缺,不能证明字段内容正确。用户可以在必填的“用途说明”里填一个无意义字符,也可以在备注里复制旧内容。若字段承载重要业务含义,就要进一步考虑值域、引用关系、条件必填或人工确认。
例如,采购单上的“交付日期”可以设为必填,但更重要的是明确它相对订单日期、供应商交期和收货计划之间的关系。仅仅让日期不为空,解决不了日期是否合理的问题。
硬拦截适用于系统能够准确识别、业务又不能接受的情况。它不适合处理规则含糊、信息不完整或确有例外的情况。如果“金额超过某值”既可能是录入错误,也可能是正常的大额采购,那么一刀切拒绝提交,通常会把判断推给线下沟通。
一个实用的分法是:确定无效的值直接拦截;可能有效但风险较高的值要求审批或补充依据;仅供参考的异常值显示提示并记录。提示、拦截和审批不是高低关系,而是三种不同的控制手段。
页面校验能改善用户体验,却不能单独承担完整的数据安全责任。数据可能通过批量导入、接口调用、移动端或后台任务写入。如果规则只写在某个表单页面,其他入口就可能绕过它。
我的判断原则是:越关键的规则,越要靠近数据写入边界执行。页面可以提前提示;服务端应在保存或提交时再次验证;涉及跨单据状态和权限的规则,还要由业务服务或流程节点确认。重复校验不是重复建设,而是分别承担体验和完整性责任。
同一条税率规则若分别写在页面脚本、接口程序、导入模板和流程审批中,规则调整时就容易只改到其中一处。结果是页面显示通过,接口却拒绝;或常规单据可以提交,批量导入却进入异常数据。
配置方式可以不同,但规则定义需要有统一的业务来源。对于高频变化或多入口共用的规则,应明确唯一维护责任人、版本记录和发布流程,避免团队依赖“谁记得当初怎么配的”。
硬拦截增加后,系统中的错误记录可能变少,但这并不必然说明数据质量提高。用户可能转而使用线下表格,或通过不受控的权限完成操作。只看拦截数量和提交成功率,容易遗漏规则造成的业务摩擦。
至少要同时观察拦截次数、人工例外率、退回率、规则误报率和下游返工量。规则上线后,拦截次数短期上升可能是正常现象;更值得关注的是问题是否被及时修正,以及重复错误是否逐渐减少。

业务人员常用“不能填错”“要符合实际”“金额要合理”等表达。这些话可以作为访谈线索,但不能直接交给配置人员实现。开始配置前,我会把每条需求写成一张规则卡片,至少包含以下内容:
规则卡片的作用是把争论提前。比如“日期不能填未来”并不总是正确:计划单允许未来日期,实际收货单可能不允许。若不先确定业务对象,配置人员会被迫猜测范围。
我通常采用三档控制。第一档是提示型:系统发现异常,但允许继续,适用于低风险或需要人工判断的情况。第二档是阻断型:不满足条件就不能提交,适用于明确无效且后果较大的输入。第三档是审批型:允许提出例外,但需要有权限的人确认并留下依据。
| 控制方式 | 适合的场景 | 用户感受 | 必须补上的控制 |
|---|---|---|---|
| 提示后允许继续 | 低风险提醒、可能合理的偏离值 | 操作阻力低 | 记录提示是否被忽略,便于复盘 |
| 阻止保存或提交 | 字段缺失、格式无效、引用对象不存在 | 控制明确,操作受限 | 给出可执行的修正办法 |
| 转审批或授权例外 | 超预算、特殊采购、历史补录等合理例外 | 流程较长,但保留业务弹性 | 限定审批角色并记录原因与时间 |
最容易被忽略的是错误提示本身。只说“校验失败”并不能帮助用户解决问题。好的提示应指出字段、条件和下一步,例如“交货日期不能早于订单日期,请检查订单日期或提交历史补录申请”。提示要说清楚怎么改,而不只是宣告系统不接受。
输入时校验适合检查格式、必填和简单范围,反馈最快;保存时适合确保草稿结构完整;提交时适合检查跨字段关系、重复记录或主数据状态;审批时适合复核预算、权限和业务例外;接口写入前则需要执行服务端一致性检查。
并不是校验越早越好。依赖用户尚未填写的信息,过早校验只会出现误报;依赖审批结果或实时库存的规则,在录入时可能无法作出最终判断。规则要在“信息已经可用”和“错误还来得及修正”之间找平衡。
如果规则可以被一句清楚的话描述,通常也可以转成测试条件。例如,“数量必须大于零”很直接;“采购日期要合理”则需要补充适用单据、日期范围、时区、历史补录权限和未来计划单是否例外。
需要跨字段判断时,可以先用伪代码或表达式表达业务逻辑。实际语法要依系统能力调整,以下仅展示逻辑结构:
IF 单据类型 = "标准采购"
AND 采购数量 > 0
AND 采购单位属于物料允许单位
THEN
允许提交
ELSE
阻止提交并提示具体原因
END IF
IF 单据类型 = "历史补录"
AND 操作人具有历史补录权限
AND 已填写补录原因
THEN
转入补录审批
END IF
这段示例刻意把“标准采购”和“历史补录”分开。若把所有业务共用一个条件,例外就会被揉进主规则,日后很难判断哪种单据为什么可以通过。

下面以采购单为例,假设系统需要管理物料、供应商、采购数量、单位、单价、币种、需求日期和成本中心。这里的约束只是用于解释设计方法,不代表所有企业的采购政策都相同。实际规则要由业务、财务、仓储和系统负责人共同确认。
我会先核对三个数据来源:物料主数据提供有效状态和允许单位;供应商主数据提供组织关系和合作状态;预算或成本中心数据提供可用额度。若这些来源本身不准确,表单校验只能把错误更早地暴露出来,不能替代主数据治理。
| 规则 | 示例条件 | 建议时点 | 失败处理 | 例外设计 |
|---|---|---|---|---|
| 物料有效 | 物料状态为可采购,且适用于当前组织 | 选择物料时提示,提交时复核 | 状态无效时阻止提交 | 停用物料替代流程,不直接开放普通用户绕过 |
| 采购单位有效 | 所选单位属于该物料的允许单位集合 | 选择单位时检查 | 提示可用单位并阻止无效组合 | 临时单位变更需主数据维护,不由录入人自由新增 |
| 采购数量为正 | 数量大于零,且精度符合计量要求 | 输入时和提交时检查 | 负数或零数量阻止提交 | 退货业务使用独立单据类型,不混用普通采购单 |
| 需求日期合理 | 标准采购日期不得早于订单日期 | 提交时检查 | 显示冲突日期并要求修正 | 历史补录进入独立审批路径 |
| 预算状态有效 | 成本中心有效,且金额在可用控制范围内 | 提交或审批时检查 | 超限时转预算审批,不简单报错 | 批准人、原因、额度占用情况均留痕 |
注意物料状态采用了两次检查:选物料时给用户即时反馈,提交时再确认状态没有变化。若物料状态在用户填写期间被停用,只做页面初次检查仍可能产生过期判断。是否需要二次查询,要结合主数据变化频率、交易风险和系统响应时间决定。
上线测试不能只测“正常情况下能提交”。我会为每条规则准备三类样例:正常值、明显异常值、边界值。若规则涉及例外,还要单独测试有权限和无权限的用户、原因为空和原因完整的情况。
两条规则分别测试通过,不代表它们同时运行时没有冲突。例如,“数量必须大于零”和“退货单数量使用负数”都可能合理,但前提是单据类型不同。测试时要覆盖规则组合,检查不同单据类型、用户角色、组织和数据状态之间的交叉影响。
在试运行阶段,我更关注三类数字:规则命中次数、误拦截次数、问题在下游被发现的次数。以下是模拟的单月观察格式,用来说明如何记录,不是某家企业的真实成绩。
| 观察项 | 试运行模拟值 | 怎么解读 |
|---|---|---|
| 提交前命中规则 | 每 1000 张单据 76 次 | 包含真实错误和合理例外,不能直接等同于错误单据数 |
| 人工确认后判为误拦截 | 每 1000 张单据 11 次 | 应检查规则范围、主数据时效和例外条件是否缺失 |
| 修正后重新提交成功 | 每 1000 张单据 58 次 | 表明提示和纠错路径可用,但仍需确认是否存在重复触发 |
| 下游仍发现字段问题 | 每 1000 张单据 7 次 | 应追查漏掉的入口、跨单据条件或规则数据源延迟 |

先收集返单原因、人工核对记录、接口异常、月底对账差异和用户反馈。对每个错误标记发生环节、涉及字段、发现位置、业务影响和现有处理方式。没有错误记录时,可以先做访谈和抽样核对,但要把“推测问题”和“已证实问题”分开。
优先治理高频且有明确修复方式的问题。若一个问题多年没有稳定定义,先开业务讨论,不要为了赶项目进度先硬编码。规则数量不是交付成果,能够验证和维护的规则才是。
字段字典至少要写清字段名称、业务含义、数据类型、长度或精度、是否必填、值域来源、维护责任人和使用单据。特别要区分“字段显示名称”和“字段业务定义”。同一个名称在采购和财务流程中可能承担不同含义。
对于下拉选项,要问清列表是静态配置、主数据实时读取,还是从其他系统同步。静态列表维护简单但容易过期;动态查询较准确,却要考虑接口超时、权限过滤和缓存更新。技术选择应由数据风险和业务时效性决定。
简单的必填、格式和长度校验可放在表单层;跨字段、跨组织或依赖主数据的判断,通常需要业务服务层或规则服务;审批例外应进入流程控制;批量导入和接口写入则必须通过相同的服务端约束。
这里的“统一”不是要求所有规则都写成同一种代码,而是要确保业务定义只有一个可信版本。规则变更时,相关入口能同步更新,测试能覆盖,日志能追踪。若多个入口各自维护相同逻辑,应主动评估整合或建立一致性检查。
用户界面提示应该告诉用户哪里不符合要求,以及如何纠正;后台日志则要记录规则编号、输入对象、触发时间、处理结果和执行入口。不要把过多敏感数据放进普通日志,也不要只记录“校验失败”而无法定位具体规则。
业务负责人定义规则边界,系统维护人员实现和发布,数据管理员维护主数据,流程负责人管理审批例外。小团队可以由同一人兼任多个角色,但职责仍要说清楚,避免规则出了问题后无人判断该改业务还是改配置。
高风险规则不宜未经试运行就覆盖所有组织和单据。可以先在一个组织、一个单据类型或一段时间范围内启用,观察命中、误报、人工例外和下游差异。若核心业务被大量阻断,先判断是数据源不准确、条件过严还是用户流程没有准备好,再决定调整。
上线前应约定回退条件。例如,误拦截超过预设阈值、关键接口大量失败、用户无法完成高优先级交易时,是否关闭规则、切换为提示,或启用临时审批流程。阈值由企业根据交易量和风险承受能力确定,不能把示例数字当成通用标准。

这类项目先稳住核心主数据和高风险字段,不要一次把所有细枝末节做成硬规则。优先明确组织、物料、单位、币种、数量、日期、金额等基础口径;复杂的例外需求先记录下来,等流程稳定后再决定自动化。
建议先做规则卡片和业务流程图,再配置最小可行的校验。规则是否成熟,可以用三个问题判断:业务负责人能否给出明确答案、测试人员能否构造边界样例、用户能否知道失败后怎么处理。任一问题没有答案,就先补定义。
先从真实异常日志和退单原因入手,按出现频次与业务损失排序。不要先全盘重做字段规则。重复出现、影响明显、判断条件清晰的问题,通常是第一批候选;低频但损失极大的问题,也可能值得优先纳入强控制。
对已有历史数据要先做影响分析。新增的必填项可能导致旧单据无法编辑,改变枚举值可能影响报表和接口,停用主数据可能使在途交易无法继续。规则发布前要区分新单据、历史单据和正在流转的单据。
不能假设每个入口都会遵循同一张页面的校验。要整理网页、移动端、批量导入、外部接口、自动任务和历史迁移等写入路径,确定每个路径的责任系统与校验位置。服务端或数据写入边界要承担关键规则,前端只做及时反馈。
批量导入尤其需要清晰的错误回执。逐行指出错误字段、原因和修正方式,比整批失败后只返回“格式错误”更有用。对于部分成功的导入,还要清楚说明哪些记录已写入、哪些未写入,以及如何安全重试,避免重复创建。
这时先区分“用户输入自由度”与“主数据维护权限”。如果所有人都能临时新增物料、客户或单位,下拉框看起来更灵活,但重复编码和口径分裂的风险会增加。更稳妥的做法通常是提供主数据申请、审核和生效机制,紧急例外另设受控流程。
主数据质量尚未达标时,校验系统可以先提示状态不一致并记录异常,逐步清理数据;对资金、库存和合规影响很大的字段,则仍应坚持阻断或审批。治理节奏应分层,不宜因为一批旧数据不干净就让所有新交易无限制通过。
字段级日志适合定位单笔问题,管理层则需要看到趋势:哪些规则最常触发、哪些组织例外率高、哪些错误反复流入下游、修正平均耗时是否下降。报表要能从汇总数字下钻到规则、单据和责任环节,同时遵守必要的数据权限。
若需要把 ERP 中的录入和异常处理结果做汇总分析,可以评估使用数据分析平台构建监控看板。九数云在这里更适合作为分析与观察环节的候选,而不是被当成 ERP 字段校验规则本身的执行引擎。选用前应核对数据连接方式、刷新时效、权限模型和实际产品能力;校验拦截仍应由承担交易写入的 ERP 或相关业务服务负责。

强拦截的优势是边界清晰,能防止确定无效的数据继续流转;代价是误报时会影响业务连续性,并增加管理员处理压力。软提示更有弹性,但用户可能忽略提醒,关键问题容易继续下游。
我的做法是把“不可接受”与“值得关注”分开。确定无效的格式、非法引用和缺失关键字段,使用阻断;金额偏高、日期异常但可能合理的情况,使用审批或有记录的例外;仅供参考的轻微偏离,可提示并监控。不要用一个统一开关处理性质不同的风险。
前端校验响应快、用户体验好,适合格式、必填和简单依赖;缺点是容易受入口差异影响,无法独立确保关键规则被执行。服务端校验覆盖入口更可靠,也更适合检查权限和实时数据;代价是开发和接口治理复杂度更高。
对重要交易,通常需要“前端早提示、服务端最终判定”。若系统无法支持统一规则服务,至少要建立关键规则对照表和入口回归测试,避免网页、导入和接口出现不同结果。
实时查询主数据能减少状态过期,但会增加接口依赖,源系统慢或不可用时可能影响交易。缓存能提高响应速度,却需要明确刷新周期、失效策略和关键交易的复核方式。
低风险、变化不频繁的展示项可以考虑缓存;会影响库存可用性、交易权限或资金控制的状态,应评估实时复核或短时有效缓存。最终策略取决于数据变化频率、系统可用性要求和错误后果,不存在所有字段通用的答案。
配置化适合结构稳定、由业务人员能清楚表达的规则,也便于调整;但配置项过多会变成另一种复杂系统,业务人员可能误改,测试与权限控制仍不可少。定制开发适合复杂逻辑或需要严格性能控制的场景,但修改周期和维护成本可能更高。
选择时要问:规则是否经常变化、是否跨多个业务入口、是否需要复杂计算、谁负责测试和发布。如果规则经常变、逻辑清楚且影响范围可控,可以优先评估配置;如果涉及核心账务、复杂跨单据一致性或严格审计要求,就要重点看服务端实现、变更治理和回归测试能力。
| 取舍维度 | 偏严格方案 | 偏灵活方案 | 适合做决定的问题 |
|---|---|---|---|
| 数据风险 | 阻断提交,必要时强制校验 | 提示或允许授权例外 | 错误是否会造成难以追回的损失 |
| 业务连续性 | 异常时暂停交易 | 保留临时处理路径 | 系统故障或数据源不可用时能否等待 |
| 规则维护 | 集中管理、发布前测试 | 局部快速调整 | 谁有权改规则,是否有版本和审计记录 |
| 用户负担 | 约束清楚,但可能增加操作步骤 | 操作灵活,但可能增加事后核对 | 用户能否理解提示并完成修正 |

如果只能先做一件事,我建议先挑一类高频、影响明确、判断条件成熟的单据,把规则卡片、测试样例和异常闭环做完整,再复制方法到其他流程。这样比一次上线几十条未经验证的“必填和范围规则”,更容易看清系统究竟拦住了什么、又给业务增加了什么成本。
字段校验的价值,不是让系统里看不到异常,而是让错误尽可能在低成本的位置被发现,让合理例外有受控出口,让每一次放行都能解释。只强调拦截,容易牺牲业务连续性;只强调灵活,容易把判断和返工推给下游。
我建议从一张真实业务单据开始:选出最容易引发返工的三到五条规则,写明触发时点、处理方式和例外路径;然后用正常、异常、边界、权限和多入口样例测试,试运行后同时看误拦截、人工例外和下游问题。确认闭环有效,再扩大范围。
ERP字段校验不是一次性配置任务,而是一套持续运行的业务控制机制。规则要有来源、有负责人、有测试、有日志,也要允许在业务变化后被安全地修订。下一步不必先打开系统配置页面,先找一张近期发生过返工的单据,沿着“错误从哪里进入、在哪里能发现、由谁判断、怎样避免重来”把路径画出来,系统搭建才有可靠起点。
我接手一张采购单录入表时,发现同事常漏填供应商、数量单位也经常选错。我不确定应该先加必填、格式校验,还是先梳理字段之间的业务关系,担心一上来规则太多反而影响正常录单。
建议先从“经常出错、后果明确、规则可判断”的字段入手,而不是把每个输入框都设成必填。先收集退单原因、返工记录和人工补录事项,再把问题归类为字段缺失、格式不符、取值越界、字段冲突或重复记录。例如采购单可以按三层拆解:单字段规则检查供应商是否为空、数量是否大于零;
字段关联规则检查商品单位是否与物料档案一致;跨单据规则检查采购数量是否超过已批准需求。越靠近业务流程的规则,越需要明确适用范围和例外。落地时可用一张规则清单记录“字段或条件、适用场景、校验时点、处理方式、责任人”。先挑几项高频且低争议的规则试运行,再根据误报和漏报情况扩展。
这样比一次性堆满校验条件更容易验证,也更不容易把合理业务挡在系统外。
我担心校验太松会让错误数据流到下游,太严又会导致业务人员为了赶进度绕开系统。我想知道哪些情况适合直接拦截,哪些情况应该只提醒,尤其是紧急采购或历史补录这类例外怎么处理。
判断依据不应是“能不能校验”,而应是错误数据被放行后的风险,以及用户是否有合理的处理路径。格式不合法、关键字段缺失、引用对象不存在,通常可以阻止提交;金额异常、日期偏离常规但仍可能成立,则可以先提示,必要时要求说明或转人工审批。以采购单日期为例:日期为空可以拦截;
日期早于当前业务期间不一定一律禁止,因为补录或更正可能有合理原因。更稳妥的设计是提示具体原因,并要求有权限的人员选择例外原因、填写说明,同时保留操作记录。上线前可做一张决策表:不可接受且无合理例外的情况设为拦截;存在合法例外的情况设为提醒或审批;仅供参考的异常设为提示。
要特别检查例外是否有负责人、权限边界和留痕方式,否则“允许例外”很容易变成没有约束的通道。
业务同事经常说“日期别填错”“数量要合理”,但这些要求听起来都很主观。我需要把它们交给实施或开发人员配置,却不知道要补充哪些信息,才能避免系统做出来后和业务想要的不一样。
先把口头要求改写成可判断的条件。比如“日期别填错”需要明确适用哪类单据、允许的日期范围、按录入日还是业务期间计算,以及历史补录是否例外;“数量要合理”则要明确单位、上下限来源和超限后的处理方式。交付时至少写清六项:适用对象、触发条件、校验时点、系统动作、提示文案、例外路径。示例:采购数量必须大于零;
在提交时检查;不符合时阻止提交;提示“数量需大于0,请检查采购数量”;若存在特殊业务,由指定角色审批并填写原因。规则还要由业务负责人确认边界,而不只是由配置人员猜测。建议先拿正常、异常、临界值各一组案例走查:数量为零、负数、刚好达到上限、超过上限分别会发生什么。
把这些预期写下来,能减少“配置完成但双方理解不同”的返工。
我准备新增几条字段规则,但担心测试时只验证了正常录入,没发现边界值、权限和上下游流程的问题。上线后如果业务规则变化,我也不确定谁应该负责修改,以及怎么判断新规则是真的减少错误而不是增加阻塞。
测试至少覆盖正常值、缺失值、非法值、临界值和字段组合冲突。以日期范围为例,可检查范围内日期、刚好到边界的日期、超出一天的日期、空值,以及历史补录场景;同时确认保存、提交、审核等不同节点是否按设计触发校验。
还要验证角色和流程:普通录入人员是否能绕过限制,例外审批人是否正确,规则触发后提示是否说清要改什么。若单据会进入接口或下游流程,应在测试环境检查校验结果对后续环节的影响,不要只看表单页面是否报错。上线后记录误拦截、漏拦截、例外申请和用户反馈,并指定业务规则负责人及系统维护责任人。
每次修改都保留原因、修改时间、影响范围和回归测试结果。评估效果时可比较上线前后同类错误的数量或返工次数,但要保持统计范围和时间口径一致,不能只凭“大家觉得更顺了”判断规则有效。


读者评论
把校验分成字段、字段间、主数据和单据流程几层,能避免所有规则都堆在输入框里,尤其适合排查跨单据问题。
强调页面校验不能替代服务端复核很实用,批量导入和接口写入确实可能绕过表单限制。
例外路径也要记录原因、权限和操作过程,这样既保留业务弹性,也不至于让特殊处理变成线下绕行。
文中的效果数据明确标注为情景模拟,并提醒同时观察误报和返工成本,这比只看拦截次数更客观。