用途:当表单校验由 JS 库而非浏览器负责时,处理同一类用户可见缺陷在库层面的复现,例如字段在用户输入前就被标红、改正后错误不消失、提交被拦截却无可见提示、提交按钮永久禁用、服务端错误落到错误字段或与双击请求竞态。
主要能力:围绕库的校验生命周期给出检查清单。校验时机应为触摸时校验、变更时再校验,而非常在挂载时或仅提交时;react-hook-form 对应 mode: 'onTouched' 加默认 reValidateMode: 'onChange',Formik 对应 validateOnBlur 且不开 validateOnMount。值变为合法时清除错误:schema 错误依赖重新校验运行,手动 setError 需区分字段注册错误与服务端/根/未注册错误,后者需 clearErrors(name) 或显式生命周期。不要用 isValid 直接门控提交,因其会订阅并强制全表单急切校验;应基于提交尝试门控,禁用仅绑定 isSubmitting/isValidating 并在 settle 时恢复。显式处理进行中与重复提交契约,禁用或忽略重复进入,并在成功、失败、拒绝时恢复;异步字段校验需防抖。服务端错误须映射回所属字段并聚焦,同时提供表单级 role="alert" 持久错误。测试应覆盖时机与生命周期序列。
适用场景:前端表单接入库与 schema 校验器时的审查与修复,尤其适合代码评审中判断问题是否值得提 PR。限制:仅针对库管理有效性的契约;浏览器原生约束校验、ARIA 错误契约、文案本地化、自动填充与认证字段分别属于其他技能;资料未提供具体安装命令与代码示例,故未列出。