javascript - 没有 Javascript 验证的 HTML5 表单验证

标签 javascript html forms validation

我最近接触了 HTML5 表单验证这个新的(对我而言)主题。我成功地测试了它,但我仍然对如何以及为什么使用它感到困惑。 让我试着用一个简单的例子来解释。

我的表单有 10 个字段(文本、数字、日期...);每个都有自己的requiredpattern
visual 验证效果很好;每个字段都显示 Go/NoGo 状态:这很好。
但是,当涉及到使用 javascript 提交表单时,我是否必须重新验证每个字段?
换句话说,HTML5 验证只是一个视觉产物;它不会阻止表单提交。如果用户想不顾红旗输入错误的内容,他可以这样做。

如果我的看法是正确的,为什么我应该使用 HTML 来做一些我可以(而且必须)用 JS 做的事情? 也许 JS 有办法知道一切都可以继续,而不需要执行任何进一步的检查。

最佳答案

In other words, the HTML5 validation is only a visual artifact; it does not prevent the form submission.

这不是它应该的工作方式。按照设计,HTML5 验证应该防止提交填写不正确的表单。确实如此——in most browsers .不幸的是,有 a bug in Safari这会导致您描述的行为。因此,在修复此错误之前,是的,您可能还需要使用 JS 验证表单,但这并不是因为 HTML5 验证的性质,只是因为它在 Safari 中缺乏支持。

关于javascript - 没有 Javascript 验证的 HTML5 表单验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40914407/

相关文章:

javascript - 将标题从主页设置为 iframe

javascript - 从数据库中迭代并检索数据

Javascript API - 使用 ZoomLevel 调用 nokia.maps.map.Display 会导致 map 容器 div 填充整个页面

html - querySelector 似乎没有在 ng-container 中找到元素

javascript - 在 Magnific Popup 顶部显示 JQuery Modal

javascript - 创建一个不带任何操作的表单按钮

javascript - Google Maps API 自动完成 - 如何仅输出街道名称?

html - 如何将多个图像与标题对齐?

html - HTML 复选框的选中属性的正确值是什么?

forms - Form.reset() 不触发 onChange