推荐失焦校验加提交时全量校验的组合:用户还在输入就报错最烦人,光标离开再提示体验最好。
提交时若有错,滚动到第一个错误项并聚焦,别只弹一句「请检查表单」。
异步查重的校验要加防抖,并把上一次请求取消掉,避免旧结果覆盖新状态。
// 失焦校验单个字段,提交时全量校验
input.addEventListener('blur', () => validateField(input))
form.addEventListener('submit', validateAll)
// 异步查重:防抖 + 取消上一次请求
clearTimeout(timer); ctrl && ctrl.abort()
ctrl = new AbortController()
timer = setTimeout(() => checkName(v, ctrl.signal), 300)
THE END






暂无评论内容