首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我可以创建我自己的html5输入类型吗?

问我可以创建我自己的html5输入类型吗?
EN

Stack Overflow用户
提问于 2015-02-27 16:19:04
回答 1查看 52关注 0票数 0

新的HTML5输入类型和属性,如tel、email、pattern等,用于向不显眼的javascript验证器指示应该对给定字段应用什么规则。

但在某些情况下,不在规范中的特定字段类型需要特殊的算法。例如,input type="credit-card"会导致验证器使用模式匹配无法验证的modulo10算法。

新的输入类型之所以有效,是因为当旧浏览器不理解指定的类型时,它会退回到type="text"。据我所知,新的浏览器似乎也遵循这一惯例。

由于已经存在语义上正确的type属性,因此在所需类型已经存在的情况下,有时使用单独的data-type=""属性和官方的type属性似乎是混乱和不一致的。

我知道有一天可能会有一个同名的类型,但是如果W3C在未来的某个时候添加了一个input type="credit-card",那么除了验证信用卡之外,它还会做什么呢?(或者换句话说,只要类型命名正确,唯一的冲突就是它的意图)。

在我需要的时候简单地构造新的输入类型有什么缺陷吗?

EN

回答 1

Stack Overflow用户

发布于 2015-02-27 16:31:23

我建议使用javascript框架,特别是当你开始一个新项目的时候。在这些框架中,您可以创建可重用的组件。例如,您可以定义一个信用卡组件,实现特定的验证、样式和逻辑,然后在整个应用程序中重用新组件。

在谷歌支持的最流行的javascript框架angular.js中,它被称为指令:https://docs.angularjs.org/guide/directive

在ember.js中,它被称为组件。

信用卡示例的陷阱是试图发明自己的正则表达式来进行验证,或者在网上找到一个实际不起作用的坏正则表达式。但是在javascript框架中使用自定义web组件是非常标准的。您还应该确保您使用的任何花哨的javascript库都与您想要支持的任何浏览器和浏览器配置兼容。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28760375

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档