在过去几年里,HTML 为我们提供了大量的 表单验证 内容。Dave Rupert 指出了它的 UX 问题
如果您曾经尝试过 HTML5 表单验证,您可能已经失望了。开箱即用的体验并不完全符合您的预期。向输入添加
required
属性非常有效。但是,input:invalid
的样式部分有点糟糕,因为即使在用户与页面交互之前,空输入也会触发:invalid
状态。
幸运的是,有一个 invalid
DOM 事件会在合适的时机触发:当表单提交时。请记住,这并不能为您带来非常深层的浏览器支持。如果您需要这种支持,请查看 polyfilling。我认为表单验证的未来要么是 HTML/CSS 提供更好、更可控的 UX,要么就是这个。